【问题标题】:Android: Application lifecycle and activitiesAndroid:应用程序生命周期和活动
【发布时间】:2016-06-29 13:03:09
【问题描述】:

试图找到一些关于 Android 应用生命周期的信息。所以想象一下这种情况:我打开应用程序而不是锁定屏幕,然后在几个小时内电话杀死了我的应用程序进程。当我解锁屏幕时会发生什么?我会在屏幕上看到什么?安卓主屏幕?还是应用程序会自动为我重新启动?活动栈也会恢复吗?我会很高兴得到任何帮助。谢谢...

【问题讨论】:

  • 第一次听到“lifecircle”这个词。

标签: android


【解决方案1】:

android 应用程序有一个生命周期,但是应用程序对自己的生命周期的控制有限,组件必须监听应用程序状态的变化并做出相应的反应,变化如下

  1. 在创建时
  2. onLowMemory
  3. onTrimMemory
  4. onConfigurationChanged

通过扩展应用程序类来访问这些方法并覆盖它们以做出相应的反应。

问候,

【讨论】:

    【解决方案2】:

    Activity lifecycle 是您要找的。​​p>

    没有应用程序生命周期或生命周期之类的东西。每个 Activity 都有自己的生命周期。如果系统需要更多内存,如果处于onPause()onStop() 状态,它将被杀死。如果您的所有活动都被终止,则该应用程序将不再可见。如果您希望数据持久保存,您必须覆盖 onPause()onResume() 并在那里保存/恢复您的数据。

    如果有活动被杀死,您的应用程序将永远不会自行恢复。如果您想在终止活动后“恢复”,则必须手动跟踪您的活动。

    更准确地说:可以杀死一个 Activity,而其他 Activity 可以保持暂停。如果您随后返回您的应用程序,您将获得 Activity 堆栈中最后一个未被杀死的 Activity。

    【讨论】:

    • 我要找的是应用生命圈,不是Activity
    • 是的,但答案在于活动生命周期。任何处于 onPause 或 onStop 状态的活动都可以被杀死。
    • Activity 可以被杀死,但 Application 不能
    • 这就是我提到活动生命周期的原因。
    • 不客气!很抱歉乍一看没有说清楚而造成混淆。
    【解决方案3】:

    如果您的应用程序被系统杀死,那么我认为它不会在您解锁屏幕时出现。如果在您的应用下方有主屏幕,那么我认为它会显示,因为您的应用已被系统杀死。

    【讨论】:

      【解决方案4】:

      在某些情况下,您可以继承应用程序类:

      那些需要维护全局应用程序状态的基类。 您可以通过在您的 AndroidManifest.xml 的标签,这将导致该类 为您实例化您的流程时 应用程序/包已创建。

      然后使用应用回调方法。

      http://developer.android.com/reference/android/app/Application.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-03
        • 2013-01-13
        • 2011-12-18
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        相关资源
        最近更新 更多