Android 主线程 (UI线程)和子线程的用法

2023-04-12


1.在android中,我们常和两种线程交互,分别为UI线程(又叫主线程),还有一种是子线程(Thread,Runnable)


2.主线程:UI线程


2.1从名字看下,UI线程,顾名思义就是和UI交互的线程。UI线程一般处理低耗时的UI操作(5秒以内的耗时),


常见的有:UI的更新,Toast的弹起。popwin以及dialog的,以及view的操作。


子线程:目前比较常见的就是网络的请求,必须在子线程操作。还有其他的耗时操作


3.如何判断当前线程执行在主线程还是子线程:


booean isMainThread=Looper.myLooper()==Looper.getMainLooper();

如果当前是子线程,必须执行主线程的操作。可以通过


Looper.prepare();

主线程操作


Toast.make(context,"",int).show();


Looper.loop();

还有在子线程通过handler来操作主线程的更新。


子线程执行主线程也可以通过


HandlerThread thred=new HandlerThread("threadName");
thread.start();
Handler handler=new Handler(hread.loop()){
handderMsg(Message msg){
 
}
};
 
hander.sendgEmptyMessage(int what);

本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com