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
其解决办法之一就是在加载的时候判断是否是在该主线程内。如不在则不执行加载,可避免很多不必要的,出现概率低的异常。关于这个异常参考资料链接:https://github.com/bumptech/glide/issues/803

人已赞赏
Android文章

Android RecyclerView使用notifyItemRemoved()移除数据时数据错乱

2021-1-7 13:05:08

Android文章

AndroidStudio更新时不小心点了ignore This Update,解决办法

2021-1-7 16:05:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索