最近在做公司项目的时候,老是遇到内存不够导致APP资源被系统回收的情况,但是回到之前的界面,调用android.os.Process.killProcess(android.os.Process.myPid...当Android系统的内存不足时,会根据以下的内存回收规则来回收内存:
1.先回收与其他Activity或Service/Intent Receiver无关的进程(即优先回收独立的Activity)...回收service进程
4.快不行啦,关掉可见的Activity进程
5.关闭当前的Activity
android独特的内存机制,导致系统内存不足时会销毁后台的应用,这里我们研究一下应用被销毁后重新加载时的情形...一个安卓应用A先后打开3个Activity: a --> b --> c
这个时候如果来了一个电话, 接电话的过程中, 手机内存不够, 那么应用A将会被系统回收
当打完电话,再次进入应用A的时候会发生下面的事情...:
1, 系统会重新加载c,而且是在新线程中
2, 现在点返回关闭c,系统就会重新加载b,而且是在新的进程中(跟c不是一个进程)
3, 现在点返回关闭b,系统就会重新加载a,而且是在新的进程中(跟c,b