Android中如何切换到主线程
16lz
2021-01-23
我们都知道,Android开发过程,有些比较耗时的操作都是需要放在子线程中执行的,但是UI相关的操作又必须放在主线程进行,所以就有了线程之间的切换。那如何从子线程切换到主线程呢?
方法一:view.post(Runnable action)
textView.post(new Runnable() { @Override public void run() { //更新UI } });
方法二:runOnUiThread(Runnable action)
runOnUiThread(new Runnable() { @Override public void run() { //更新UI } });
方法三:Handler机制
Handler mainHandler = new Handler(Looper.getMainLooper()); mainHandler.post(new Runnable() { @Override public void run() { //更新UI } });
Handle机制的另外一种方式:
先在主线程中创建一个handle
Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //该方法运行在主线程 } };
其次,在子线程中发送一个消息,就可以在主线程中接收到该消息,即可在handleMessage()中进行UI相关操作
new Thread(new Runnable() { @Override public void run() { handler.sendEmptyMessage(0); } }).start();
更多相关文章
- Android基于OpenGL的GLSurfaceView创建一个Activity实现方法
- 【转】Android-Action Bar使用方法
- Android更新Ui线程的四个方法
- Android获取本机IP地址(不是localhost)和MAC的方法
- Android 导入android源码有错,R.java文件不能自动生成解决方法
- Git,SVN使用方法杂记(更新中)
- 解决develop.android.com无法访问到最佳方法