首页 > 移动平台 > 详细

android开启线程的误区

时间:2014-12-28 11:33:08      阅读:229      评论:0      收藏:0      [点我收藏+]

发现一些刚学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());
    }

 

android开启线程的误区

原文:http://www.cnblogs.com/zhujiabin/p/4189709.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!