当内存不足时,android会破坏个别活动还是整个堆栈?

时间:2017-09-26 20:38:19

标签: android

就像标题所说,当android在内存中运行不足时会发生什么?它会随机挑选和选择活动,只是将它们杀掉,或者它会扼杀一个应用程序的整个堆栈。

我担心我的应用程序中的活动历史记录将无法正确保存(例如,在编辑图片页面之前的个人资料页面)

2 个答案:

答案 0 :(得分:2)

它会杀死整个过程,而不仅仅是一些活动。如果操作系统决定终止你的应用程序正在运行的过程,那么你的应用程序将被整体杀死。

如果您浏览Processes and Application Lifecycle

  

在大多数情况下,每个Android应用程序都在自己的Linux进程中运行。当需要运行某些代码时,将为应用程序创建此过程,将继续运行,直到不再需要它为止,并且系统需要回收其内存以供其他应用程序使用

此外,如果您通过Processes and Threads

  

默认情况下,同一应用程序的所有组件都在同一进程中运行,大多数应用程序不应更改此设置。   ...    Android可能会决定在某个时刻关闭某个进程,此时内存不足并且需要更快立即为用户提供服务的其他进程。

希望它有所帮助。

答案 1 :(得分:1)

系统不会打扰单独的活动,但会在决定回收某些资源的正确方法时终止整个流程。这也将影响流程'活动也将消失。