【Android(安卓)初学】11、关于Android当中的线程(初级)
16lz
2021-12-04
Start Android
1、回顾Java当中的线程概念
1)线程的两种实现方式 2)线程的生命周期 3)多线程同步 (多个线程访问同一个资源,在同)2、MainThread与Worker Thread 1)UI相关的代码就是MainThread 2)其他代码就是WorkerThread(不允许操作UI,ProgressBar可以) 3)在一个应用程序当中,主线程通常用于接收用户的输入,以及将运算的结果反馈给用户(也就是主线程不能阻塞) 对于一些可能会产生阻塞的操作,必须放在Worker Thread当中
3、Android当中的线程使用
4、什么是Handler
5、Handler、Looper和MessgeQueue的基本原理(可用于实现线程之间的通信) 这三者配合可完成消息队列 1)首先,生成一个类(继承Handler),并创建Handler类的对象的引用Myhandler(名字可自定义) 2)再将新的firstHandler对象赋值给Handler类的对象的引用Myhandler(向上转型); 3)Message smg = Myhandler.obtainMessage(); 利用Myhandler对象的obtainMessage方法创建一个消息对象 4)对msg对象进行操作,让msg附带消息;如:msg.what = 100; 5)调用Myhandler.sendMessage(msg);方法,将msg这个消息对象放到消息队列当中 6)Looper将会从消息队列当中将消息取出 7)Looper将会找到与消息对象对应的Handler对象(这里是Myhandler) 8)最后Looper将会调用Myhandler对象的handlerMessage(Message msg);方法,用于处理消息对象
6、通过Handler实现线程间通信 7、在主线程当中实现Handler的handlerMessage()方法
8、在Worker Thread当中通过Handler发送消息 1)准备Looper对象 在线程的类的run方法中,调用Looper.prepare(); 2)在Worker Thread生成Handler对象 handler = new Handler(){public void handleMessage(Message msg){}} 3)在MainThread当中发送消息
更多相关文章
- Android多线程同步转异步方法总结
- First day of android study
- Android(安卓)UI线程和非UI线程
- android的第一天学习
- Android精华汇总
- Android(安卓)系统中WatchDog 日志分析
- Android事件处理分析+Android事件处理 +Android输入事件流程
- Android(安卓)UI Operation in Thread
- Android(安卓)网络(四) Retrofit学习笔记