Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 判斷當前線程是否是主線程的方法

Android 判斷當前線程是否是主線程的方法

編輯:關於Android編程

開發過程中有時候會在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();
        }
    }


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved