《老罗的Android之旅》阅读笔记——线程消息处理模型
来源:互联网 发布:计算机编程入门视频 编辑:程序博客网 时间:2024/05/04 20:24
两个场景:
- 在应用程序中创建一些常驻的子线程来不定期地执行一些不需要与应用程序界面交互的计算型的任务
- 在应用程序中创建一些子线程来执行一些需要与应用程序界面进交互的计算型任务
场景一解决方案:
HandlerThread类,它可以创建具有消息循环功能的子线程。
场景二解决方案:
异步任务类(AsyncTask),它会在一个子线程中执行计算任务,同时通过主线程的消息循环来获得更新应用程序界面的机会。
需要注意的是:
A. CounterTask类继承于AsyncTask类,因此它也是一个异步任务类;
B. CounterTask类的doInBackground函数是在后台的子线程中运行的,这时候它不可以操作应用程序的界面;
C. CounterTask类的onProgressUpdate和onPostExecute两个函数是应用程序的主线程中执行,它们可以操作应用程序的界面。
0 0
- 《老罗的Android之旅》阅读笔记——线程消息处理模型
- 《老罗的Android之旅》阅读笔记——键盘(Keyboard)消息处理机制
- 《老罗的Android之旅》阅读笔记——消息处理机制(Looper、Handler)
- 《老罗的Android之旅》阅读笔记——Android硬件抽象层
- 《老罗的Android之旅》阅读笔记——Launcher和Zygote的启动过程
- 《老罗的Android之旅》阅读笔记——应用程序与SurfaceFlinger服务的关系
- 《老罗的Android之旅》阅读笔记——Log系统
- 《老罗的Android之旅》阅读笔记——IPC机制Binder
- 《老罗的Android之旅》阅读笔记——匿名共享内存
- 《老罗的Android之旅》阅读笔记——startService函数
- 《老罗的Android之旅》阅读笔记——Activity启动过程
- 《老罗的Android之旅》阅读笔记——广播(Broadcast)机制
- 《老罗的Android之旅》阅读笔记——bindService
- 《老罗的Android之旅》阅读笔记——Content Provider
- 《老罗的Android之旅》阅读笔记——开机画面显示过程&Gralloc模块
- 《老罗的Android之旅》阅读笔记——SurfaceFlinger服务
- 《老罗的Android之旅》阅读笔记——应用程序窗口实现框架
- 《老罗的Android之旅》阅读笔记——安装应用程序和应用程序进程启动的过程
- c# -- 对象销毁和垃圾回收
- Apache Shiro 使用手册(一)Shiro架构介绍
- android代码混淆后程序出错
- CPU策略学习:interactive策略的优点和缺点
- 远程连接Xshell和VNC配置
- 《老罗的Android之旅》阅读笔记——线程消息处理模型
- android js与本地java代码互相调用
- sql语句
- [ios] release version 不输出 logs
- docker&coreos&kubernetes系列序
- 【IDDFS】【vijos 1350】C数列
- ios 音乐后台播放 远程控制
- 数据库学习笔记(九)
- Eclipse 启动卡死