【发布时间】:2016-06-29 13:03:09
【问题描述】:
试图找到一些关于 Android 应用生命周期的信息。所以想象一下这种情况:我打开应用程序而不是锁定屏幕,然后在几个小时内电话杀死了我的应用程序进程。当我解锁屏幕时会发生什么?我会在屏幕上看到什么?安卓主屏幕?还是应用程序会自动为我重新启动?活动栈也会恢复吗?我会很高兴得到任何帮助。谢谢...
【问题讨论】:
-
第一次听到“lifecircle”这个词。
标签: android
试图找到一些关于 Android 应用生命周期的信息。所以想象一下这种情况:我打开应用程序而不是锁定屏幕,然后在几个小时内电话杀死了我的应用程序进程。当我解锁屏幕时会发生什么?我会在屏幕上看到什么?安卓主屏幕?还是应用程序会自动为我重新启动?活动栈也会恢复吗?我会很高兴得到任何帮助。谢谢...
【问题讨论】:
标签: android
android 应用程序有一个生命周期,但是应用程序对自己的生命周期的控制有限,组件必须监听应用程序状态的变化并做出相应的反应,变化如下
通过扩展应用程序类来访问这些方法并覆盖它们以做出相应的反应。
问候,
【讨论】:
Activity lifecycle 是您要找的。p>
没有应用程序生命周期或生命周期之类的东西。每个 Activity 都有自己的生命周期。如果系统需要更多内存,如果处于onPause() 或onStop() 状态,它将被杀死。如果您的所有活动都被终止,则该应用程序将不再可见。如果您希望数据持久保存,您必须覆盖 onPause() 和 onResume() 并在那里保存/恢复您的数据。
如果有活动被杀死,您的应用程序将永远不会自行恢复。如果您想在终止活动后“恢复”,则必须手动跟踪您的活动。
更准确地说:可以杀死一个 Activity,而其他 Activity 可以保持暂停。如果您随后返回您的应用程序,您将获得 Activity 堆栈中最后一个未被杀死的 Activity。
【讨论】:
如果您的应用程序被系统杀死,那么我认为它不会在您解锁屏幕时出现。如果在您的应用下方有主屏幕,那么我认为它会显示,因为您的应用已被系统杀死。
【讨论】:
在某些情况下,您可以继承应用程序类:
那些需要维护全局应用程序状态的基类。 您可以通过在您的 AndroidManifest.xml 的标签,这将导致该类 为您实例化您的流程时 应用程序/包已创建。
然后使用应用回调方法。
http://developer.android.com/reference/android/app/Application.html
【讨论】: