Handler handler=new Handler();
handler.post(r);Runnable r=new Runnable(){
public void run(){
//具体操作
}
};
我们都知道通过handler的post方法调用是将一个Runnable对象放入到消息队列中,其中run方法内的部分也是在主线程中执行的,而没有去开辟一条新线程。那既然这样 handler的post方法存在的意义是什么,我们完全可以将run部分的代码直接写在主线程内啊,何必多此一举,希望大神指点。
handler.post(r);Runnable r=new Runnable(){
public void run(){
//具体操作
}
};
我们都知道通过handler的post方法调用是将一个Runnable对象放入到消息队列中,其中run方法内的部分也是在主线程中执行的,而没有去开辟一条新线程。那既然这样 handler的post方法存在的意义是什么,我们完全可以将run部分的代码直接写在主线程内啊,何必多此一举,希望大神指点。
解决方案 »
- AsyncTask 如何更新数据到ListView上面
- Dialogs 数字选择的一个页面怎么弄了?
- android如何获取一个SD卡指定文件夹的图片Uri uri问题
- android 瓦片地图 历经千辛万苦终于成功了,可是怎么优化显示?
- android平台下实现sd、usb等设备自动挂载有个问题想请教大家
- StringBuffer java.lang.OutOfMemoryError
- 为什么Animation不能重用
- 请教:为什么android签名后,放到手机上装会显示解析软件包时出现问题
- android原生开发可以使用js+css来做界面吗?
- ViewPager子项Fragment里面的ListView怎么添加点击监听?
- 一个HashMap的问题
- android 短信
2、run方法在创建handler的线程中执行,这个线程必须要有消息循环,但不一定是主线程。
2 主线程中post一个runnable,UI是被阻塞了,方法会立刻返回继续往下执行。
3 一个handler不一定在Main Thread中,可以顺序post很多Runnable对象,莫非都直接放到主线程中顺序执行?