发现一些刚学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消息处理系统——Looper、Handler、Thread
  2. Android(安卓)异步加载图片分析
  3. 进程、线程与JVM之间的关系
  4. Android主线程与子线程之沟通
  5. android学习资料整理-----高级篇
  6. Android(安卓)UI主线程与子线程
  7. Android中对Log日志文件的分析
  8. Android与HTML JavaScript交互
  9. Android中的线程机制

随机推荐

  1. android Uri获取真实路径转换成File的方
  2. MediaRecorder流程分析
  3. Android(安卓)ApiDemos示例解析(8):App->A
  4. android edittext的属性
  5. Android(安卓)Studio禁用 install run
  6. android之ListView布局
  7. 比较详细的handle机制
  8. Android界面基本属性
  9. Android(安卓)C编程技巧
  10. android:AssetManager