频道栏目
IT货架 > > 正文
Android 判断当前线程是否是主线程的方法
网友分享于:Jan 1, 1970 8:00:00 AM    来源: IT货架   

标签: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线程   

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1