Android 如何判断当前线程是否是主线程
来源:互联网 发布:软件项目管理总结报告 编辑:程序博客网 时间:2024/05/17 23:56
source:http://blog.csdn.net/clevergump/article/details/50995612
Android开发中, 有时需要判断当前线程到底是主线程, 还是子线程, 例如: 我们在自定义View时, 想要让View重绘, 需要先判断当前线程到底是不是主线程, 然后根据判断结果来决定到底是调用 invalidate() 还是 postInvalidate() 方法. 如果当前是主线程, 就调用 invalidate() 方法; 而如果当前是子线程, 就调用 postInvalidate() 方法, 注意: 子线程中不能调用 invalidate() 方法, 否则就会报异常, 提示我们不能在子线程中更新UI, 如下图所示:
那么, 我们如何判断当前线程到底是主线程, 还是子线程呢? 答案是: 可以借助于 Looper. 代码如下:
public boolean isMainThread() { return Looper.getMainLooper() == Looper.myLooper();}
或者
public boolean isMainThread() { return Looper.getMainLooper().getThread() == Thread.currentThread();}
或者
public boolean isMainThread() { return Looper.getMainLooper().getThread().getId() == Thread.currentThread().getId();}
以上几种写法都可以.
end
阅读全文
0 0
- Android 如何判断当前线程是否是主线程
- Android 如何判断当前线程是否是主线程
- Android 如何判断当前线程是否是主线程
- Android 如何判断当前线程是否是主线程
- android 判断当前线程是否是主线程(UI线程)
- Android 判断当前线程是否是主线程的方法
- Android 判断当前线程是否是主线程
- Android判断当前线程是否是主线程的方法
- Android判断当前线程是否是主线程的方法
- Android--判断当前线程是否是主线程
- Android 判断当前线程是否是UI主线程
- Android中判断当前线程是否是主线程
- Android中判断当前线程是否是主线程
- Looper判断当前线程是否是主线程
- Android 判断当前线程是否是主线程的两种方法
- Android 判断当前线程是否是主线程的两种方法
- Android 判断当前线程是否是主线程的两种方法
- Android 判断当前线程是否是主线程的两种方法
- oracle中rownum详解
- hdu-4451 思维题
- Linux下安装mysql
- Go语言的安装与设置
- Codeforces Round #394 (Div. 2) E. Dasha and Puzzle —— 构造 + 贪心
- Android 如何判断当前线程是否是主线程
- React 中被忽略的函数组件(Functional Components)
- js事件浏览器兼容案例
- iOS 内存恶鬼drawRect
- K线绘制接口设计
- Oracle中的rownum不能使用大于>的问题
- Html+css学习笔记
- wust oj 1510 最长连续不下降序列
- bootstrap学习