我们什么时候可以说应用程序已经死亡(当应用程序进程终止或进程中的所有活动都被终止时)。
为什么在Application的对象中存储数据是个坏主意?
修改
假设我有一个 WhatIsYourNameActivity ,要求提供用户的名称并将其存储在 MyApplication 中扩展应用。我还有另一个 WelcomeActivity ,它从应用程序的对象中获取该名称。如果用户离开应用程序(使用主页按钮)并且android默默地杀死应用程序以回收一些内存,那么当再次打开时,应用程序会因空指针(因为Application对象是新的)崩溃。为什么没有创建 WhatIsYourNameActivity 的新对象?为什么 WhatIsYourNameActivity
答案 0 :(得分:4)
当程序死了。因为你可以拥有正在运行的服务或其他线程,即使所有活动都已经死亡,它们仍然有效。
因为Android可能会随时终止您的应用(例如,如果用户打开其他应用并且该应用将分配所有内存),然后重新启动它(当用户再次打开您的应用时)。在这种情况下,您将丢失应用程序对象中的所有数据。
您可以在此处获取更多详细信息 - https://developer.android.com/guide/topics/processes/process-lifecycle.html