2017-09-26 58 views
0

就像标题所说的,当android在内存上运行时发生了什么?它是否随机挑选并选择活动并将它们杀死,或者是否将应用程序的整个后端堆栈杀死。当内存不足时,android会销毁个人活动还是整个堆栈?

我担心我的活动我的应用程序的历史不会被妥善保存(如前编辑图片页面来的个人资料页)

+0

AFAIK它杀死了整个过程。所以你的应用程序将作为一个整体被杀害 –

+0

@ShobhitPuri关心提供一些来源和张贴您的答案作为回应,所以我可以正确接受它? – AlanSTACK

+0

刚刚添加了2个来源的答案。希望它能澄清你的问题。这些链接到文档有更多的细节,你可以通过。 –

回答

1

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

如果你经历Processes and Application Lifecycle

在大多数情况下,每一个Android应用程序在自己的Linux进程中运行。当需要运行某些代码时,会为应用程序创建此过程,并且将保持运行状态,直至不再需要,并且系统需要回收其内存供其他应用程序使用。

此外,如果你去通过Processes and Threads

默认情况下,大多数应用程序在同一进程相同的应用程序运行的所有组件,不应改变这一点。 ... 当内存不足时,Android可能会决定关闭某个进程,并且其他进程会立即为用户提供服务。

希望它有帮助。

1

系统,当它决定不打扰单独的活动,但将杀死全过程它是收回一些资源的正确方式。这也会影响进程的活动,这些活动也将不复存在。