发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法:
方法一:使用Looper类判断
Looper.myLooper() != Looper.getMainLooper()
Thread.currentThread() == Looper.getMainLooper().getThread()
private
Thread mUiThread;
public
final
void
runOnUiThread(Runnable action) {
if
(Thread.currentThread() != mUiThread) {
mHandler.post(action);
}
else
{
action.run();
来自: Rdxer馆 > 《android》
0条评论
发表
请遵守用户 评论公约
【转】Handler: 主线程如何通知子线程
@Override public void handleMessage(Message msg) { if (msg.what == MSG_WHAT) { Bundle bundle = msg.getData();每个主线程默认有一个 Looper,也就是说在主线程中,下面代码是...
Android App在线程中创建handler的方法讲解
Android App在线程中创建handler的方法讲解。Handler handler = new Handler(){...};这样创建的handler是在主线程即UI线程下的Handler,...
android AsyncTask介绍
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.在Handler 异步实...
Android 多线程编程的总结
可以看到这里用的是第一种方法开启新线程的,但是在新线程里初始化了Looper(因为不是在主线程,所以要我们自己调用Looper.prepare()和lo...
Android全面解析之由浅及深Handler消息机制
他们的工作流程是:用户使用线程的Looper构建Handler之后,通过Handler的send和post方法发送消息消息会加入到MessageQueue中,等待Loope...
Android Handler机制
从这个图中我们很清楚可以看到调用sendEmptyMessage后,会把Message对象放入一个MessageQueue队列,该队列属于某个Looper对象,每个Loop...
Android Handler Message Looper机制原理
在Android中谈到Handler,我们首先来讲一下Handler的机制和原理 1、Handler机制原理。在主线程通过Handler handler = new Handler();即使用默认构造函数构造Handler时,是默认使用主线程的Looper...
云中漫步 ? 深入理解Android消息处理系统——Looper、Handler、Thre...
前面提到Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列和一个消息循环(Loop...
[经典]android 消息机制(二)
[经典]android 消息机制(二)(4)线程A的Handler对象可以传递给别的线程,让别的线程能送讯息来给线程A。(5)线程A的Message Queue里的消息,只有线程A所属的对象可以处理。MyHandlermHandler =null;pub...
微信扫码,在手机上查看选中内容