2.应用程序
应用程序:一组组件(Activity service provider receiver的集合)
一般情况 一个应用程序会对应一个进程
一般情况 关闭掉应用(关闭掉所有的界面,关闭所有的activity)
应用程序的进程 是不会被关闭的 任然在后台长期的运行
谷歌采用一组策略 帮助我们自动管理进程
进程 按照优先级分为不同的等级:
1. 前台进程 用户可以看到这个进程里面某一个activity的界面 可以操作这个界面
2.可见进程 用户任然可以看到这个进程 某个activity的界面 但是不能操作这个界面
3.服务进程 如果一个应用程序 有一个服务在后台运行
4.后台进程 没有任何服务的进程 打开一个activity之后 按了home键 最小化
5.空进程 没有任何活动组件 存在的进程(比如app按了后退键进入桌面,退出了当前activity)
当内存不足时,Android会回收进程,顺序是5,4,3,2,1,一般来说,3是不会被回收的。所以,需要在后台长期服务的进程一般不被回收,如android中的电话监听进程。
在开发中,比如需要隔断时间从服务器上更新数据,可以把逻辑写在服务进程中,这样可以不被回收,如天气预报定时从服务器上更新天气信息,这个就可以写在服务进程中。