Android檢測當前是否在主執行緒內
阿新 • • 發佈:2019-01-31
為了避免不是在當前主執行緒造成的異常的兩種靠譜的方式:
第一種:
/**
* 判斷是否在當前主執行緒
* @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
其解決辦法之一就是在載入的時候判斷是否是在該主執行緒內。如不在則不執行載入,可避免很多不必要的,出現概率低的異常。關於這個異常參考資料連結:這裡寫連結內容