Android Dalvak虚拟机内存回收规则

来源:互联网 发布:insert sql 批量 编辑:程序博客网 时间:2024/05/11 12:34

首先了解Activity生命周期中的四种状态:

1、活动(active)状态:

当Activity运行在屏幕前台(处于当前任务活动栈的最上面)此时它获取了焦点能响应用户的操作属于运行状态,同一个时刻只会有一个Activity 处于活动(Active)或运行

2、暂停(paused)状态:

当Activity失去焦点但仍对用户可见(如在它之上有另一个透明的Activity或Toast、AlertDialog等弹出窗口时它处于暂停状态。暂停的Activity仍然是存活状态它保留着所有的状态和成员信息并保持和窗口管理器的连接),但是当系统内存极小时可以被系统杀掉

3、停止(stoped)状态:

完全被另一个Activity遮挡时处于停止状态,它仍然保留着所有的状态和成员信息只是对用户不可见,当其他地方需要内存时它往往被系统杀掉

4、非活动(dead)状态:

Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动的状态,要手动终止Activity,可以在程序中调用"finish"方法如果是(按根据内存不足时的回收规则)

被系统回收,可能是因为内存不足了

内存不足时,Dalvak 虚拟机会根据其内存回收规则来回收内存:

1、空进程
2、不可见进程(处于stoped状态)
3、服务进程
4、可见进程(处于paused状态)
5、活动进程(处于active状态)
0 0
原创粉丝点击