1. 程式人生 > >Android檢測當前是否在主執行緒內

Android檢測當前是否在主執行緒內

為了避免不是在當前主執行緒造成的異常的兩種靠譜的方式:
第一種:

    /**
     * 判斷是否在當前主執行緒
     * @return
     */
    public static boolean isOnMainThread(){
        return Thread.currentThread() == Looper.getMainLooper().getThread();
    }

第二種:

    /**
     * 判斷是否在當前主執行緒
     * @return
     */
    public static boolean isOnMainThread
(){ return Looper.myLooper() == Looper.getMainLooper(); }

使用的地方如可能在使用Gilde時出現的bug:java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
其解決辦法之一就是在載入的時候判斷是否是在該主執行緒內。如不在則不執行載入,可避免很多不必要的,出現概率低的異常。關於這個異常參考資料連結:這裡寫連結內容