Android应用程序生命周期澄清

Luc*_*cas 15 android android-activity

任何人都可以确认以下关于Android应用程序生命周期?

1)当应用程序在前台时,内存将包含Application对象的实例,所有活动的实例(未被杀死)以及从其中一个根引用的所有对象引用(尚未被垃圾回收)

2)当应用程序进入后台时,在某些时候Android框架可以:a)杀死给予应用程序目的的整个过程,这将完全删除内存中的所有对象b)仅杀死(所以必须没有其他对象引用将被删除)活动(通过完成它们并且实质上是任何片段)保存它们的状态并创建活动堆栈并留下任何其他东西(应用程序对象,任何其他静态对象,可从任何根目录访问的引用).

我最感兴趣的是2b,但是我会对所有这些点进行确认,因为我试图从头到尾抓住整个概念.

Luc*_*cas 0

好吧,在最近几周的搜索过程中,我获得了更多信息,现在我可以回答我自己(也希望其他人)的问题:

1) 正确

2a) 正确

2b) 错误。android框架,如果需要内存或者由于某些其他原因必须“杀死/减少”应用程序,它只能通过杀死专用于该应用程序的整个进程来实现。Android 框架可以进一步终止选定的活动或终止所有活动,但使所有其他对象保持活动状态(例如应用程序对象、单例等)