码迷,mamicode.com
首页 > 移动开发 > 详细

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

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

标签:android   线程   ui线程   

开发过程中有时候会在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 判断当前线程是否是主线程的方法

标签:android   线程   ui线程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!