android进程与线程

每个应用程序运行在各自的进程中,应用程序的所有组件运行在此进程中。
安卓系统试图尽可能长的保持应用程序进程,内存回收时,根据进程内运行的组件及其状态,系统把每个进程都划入一个重要层次结构中,重要性低的进程先被清除,用于恢复系统资源。
  1. 前台进程:
  2. 可见进程
  3. 服务进程
  4. 后台进程
  5. 空进程
应用程序启动时,系统会创建一个名为main的主线程,UI线程,主要用于应用程序与UI交互。当用户触摸屏幕上的按钮时,应用程序的UI线程把触摸时间分发给widget,widget先把自己置为按下状态,再发送一个显示区域已失效的请求到事件队列中,UI线程从队列中取出此请求,并通知widget重绘自己。
android的UI组件包并非线程安全的,不允许从工作线程中操作UI,只能从UI线程中操作用户界面。
单线程须遵循的规则:
  • 不要阻塞UI线程
  • 不要在UI线程外访问UI组件包
从其他线程中访问UI线程:
  • Activity.runOnUiThread(Runnable)
  • View.post(Runnable)
  • (long)View.postDelayed(Runnable,long)
  • Handler
  • AsyncTask:先阻塞工作线程,再在UI线程中呈现结果,此过程不需对线程和handler进行人工干预。主要把任务分为工作进程和UI进程内完成的部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值