发现一些刚学android的人,和我当初一样,对android的线程会存在着一定误区。
在android中,开启新线程时,一些人会用以下方法:
new Handler().post(r);

但是这样并不是开启新线程,而只是把当前的任务加入到主线程当中。如果要开启新线程,则应该使用HandlerThread,使用如下:
HandlerThread thread = new HandlerThread(name);thread.start();new Handler(thread.getLooper()).post(r);

如果对此使用较多,则可以封装一个静态方法,用于获取一个以新线程执行任务的对象:
/** * 获取在新线程运行的Handler对象。 *  * @param name *            线程名字。 * @return 在新线程运行的Handler对象。 */public static Handler getNewHandlerInOtherThread(String name) {HandlerThread thread = new HandlerThread(name);thread.start();return new Handler(thread.getLooper());}

更多相关文章

  1. [Android] Eclipse Android中设置模拟器屏幕大小几种方法
  2. 进程、线程与JVM之间的关系
  3. Android主线程与子线程之沟通
  4. VS2019中用xamarin开发Android,显示需要android sdk28的解决方法
  5. Android声音管理方法
  6. Android UI主线程与子线程
  7. Android中String资源文件的format方法
  8. Android中的线程机制
  9. android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象

随机推荐

  1. Android动态壁纸开发
  2. (精品)SSM框架个人健康服务预约系统设计和
  3. SSM框架乡村文化振兴管理系统的设计与开
  4. 如何利用 RPA 实现自动化获客?
  5. SSM框架疫情下的青岛滨海学院中央图书馆
  6. SSM框架校园闲置商品交易平台的设计与实
  7. 分布式事务,原理简单,写起来全是坑!
  8. android 嵌套ViewPager + Fragment实现仿
  9. Android(安卓)热修复(腾讯bugly)
  10. Java/Android倒计时(开始,暂停,恢复,停止)