您的位置:首页 > 移动开发 > Android开发

Android Dalvak虚拟机内存回收规则

2016-03-31 16:13 183 查看
首先了解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状态)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: