##进程和应用程序
* 进程是应用程序运行的载体
>linux系统创建了一个进程(pid),这个进程负责运行dvm,
>Android应用程序的java代码是运行在DVM虚拟机里面
* 应用程序概念(application)
>四大组件放在一起就是一个应用程序
一个应用程序可能对应多个进程
##应用程序的退出
应用程序的任务栈清空了,就代表应用程序退出了。
应用程序在退出的时候,操作系统会保留应用程序的进程。
##进程的生命周期(Process lifecycle)
Android系统会尽量的长时间保留每个开启的进程
>目的:就是为了下一次开启这个应用程序的时候速度提高
>缺陷:最终内存会不足。
>解决方案: 给进程按照优先级排序,如果内存不足就回收这个进程
###进程的优先级
1. Foreground process(前台进程)
>应用程序,用户正在操作,activity的onresume方法被执行了,用户可以获取到焦点,可以相应点击事件。
2. Visible process (可视进程)
>应用程序的ui界面,用户还可以看到,但是不能操作了。
3. Service process (服务进程)
>应用程序没有界面,但是有一个后台的服务还处于运行状态
4. Background process(后台进程)
>应用程序没有服务处于运行状态,应用程序被最小化了,activity执行了onstop方法
5. Empty process (空进程)
>没有任何组件运行,所有的activity都关闭了,任务栈清空了
阅读(763) | 评论(0) | 转发(0) |