首页 > 移动平台 > 详细

Android 判断当前线程是否是主线程的方法

时间:2014-07-18 14:02:08      阅读:539      评论:0      收藏:0      [点我收藏+]

开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法:

方法一:使用Looper类判断

 Looper.myLooper() != Looper.getMainLooper()

方法二:通过查看Thread类的当前线程

Thread.currentThread() == Looper.getMainLooper().getThread()

方法三:使用线程句柄判断,将主线程的Thread.currentThread()获取到主线程当前句柄,保存起来,在需要判断的时候调用Thread.currentThread()来与之比较,即可判断当前线程是否是主线程了,该方法可以参见Activity中

private Thread mUiThread;
public final void runOnUiThread(Runnable action) {
        if (Thread.currentThread() != mUiThread) {
            mHandler.post(action);
        } else {
            action.run();
        }
    }


Android 判断当前线程是否是主线程的方法,布布扣,bubuko.com

Android 判断当前线程是否是主线程的方法

原文:http://blog.csdn.net/zpf8861/article/details/37914107

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