android中handler中 obtainmessge与New message区别
16lz
2021-01-24
obtainmessage()是从消息池中拿来一个msg 不需要另开辟空间new
new需要重新申请,效率低,obtianmessage可以循环利用;
//use Handler.obtainMessage(),instead of msg = new Message();//because if there is already an Message object,that not be used by //any one ,the system will hand use that object,so you don't have to //create and object and allocate memory.//it is also another example of object recycling and reusing in android.Message msg = mHandler.obtainMessage();msg.what = UPDATE_LISTVIEW;msg.obj = current + "/" + total + "songs";//this method is called from worker Thread,so we cannot update UI from here.msg.sendToTarget();在看下面代码:
Message msg = handler.obtainMessage(); msg.arg1 = i; msg.sendToTarget(); Message msg=new Message(); msg.arg1=i; handler.sendMessage(msg);
第一种写法是message 从handler 类获取,从而可以直接向该handler 对象发送消息,第二种写法是直接调用 handler 的发送消息方法发送消息。
更多相关文章
- Android(安卓)Studio添加Parcelable序列化小工具(快速提高开发效
- Android滑动组件----RecyclerView
- Android为什么要用JAVA做应用开发语言而不用C/C++
- 知乎日报 - 我的第一个Kotlin项目
- 关于Android加快应用崩溃效率
- Android中通过xml给布局添加边框
- 让你的Android开发效率提高10倍的开源工具库AndroidTools的使用
- Android(安卓)NDK开发技巧二
- Android中的几种单例模式的写法