andriod进程的优先级,已经android内存不够时,清除进程的机制

来源:互联网 发布:无锡大数据it 编辑:程序博客网 时间:2024/06/05 08:41


andriod进程主要分一下几个优先级,同一个优先级可能有同时存在多个进程:

1、前台进程(Foreground): 与用户的操作密切相关,不同的应用通过调用不同的方法可以切换到前台进程。例如

正在与用户进行交互的activity(调用resume方法)

正在运行的BroadcaseReceiver(它的BroadcastReceiver.onReceive()方法被执行)

正在运行的Service,并且Servive的某个方法(Service.onCreate、Service.onStart()或者Service.onDestory()内有正在执行的代码

2、可见的(Visible)进程:有一个可以被用户看到的Activity,但不在前台(onPause()方法被调用。例如activity弹出对话框。

3、服务(service)进程:有一个已经用startService方法启动的Service,虽然这些进程不在前台之行,用户也看不懂,但是服务

    做的事情是用户关心的(例如下载文件、听歌)。

4、后台(background)进程:拥有一个当前用户看不到的Activity(当进程相对用户不可见是,其onStop()会被调用)。

5、空(empty)进程:不包含任何处于活动状态的进程。保留这一状态的唯一原因是,当下次应用程序的某个组件运行时,不需要重新创建进程,以提高速度。

当android内存不够时,系统可以在任何时刻杀死后台进程、空进程来回收内存,并提供给前面3种类型的进程使用。前面也提到过,同一个优先级的中会有很多个进程,

因此需要将这些进程保存到LRU中,确保用户最近看到的一个进程最后杀死。



0 0
原创粉丝点击