【问题标题】:onDestroy fired instead of onPauseonDestroy 被解雇而不是 onPause
【发布时间】:2013-08-01 06:27:10
【问题描述】:

在我的应用程序中,我正在检查我的 Activity 的事件 onDestroy,我将在其中 cancel() 我的 toast 显示。但是我按下了Android Home,我的应用程序仍在后台运行,但在我的日志中它触发了我的活动的onDestroy

从我读到的,只要活动没有关闭,状态就会是onPause,但这次似乎去Android Home会触发onDestroy。我错了吗?

【问题讨论】:

    标签: android android-activity oncreate onpause ondestroy


    【解决方案1】:

    在 android 文档中,它说:

    *onPause() 在例如弹出对话框时调用(即当活动在后台仍然可见时)。但是,如果没有更多可用内存,onStop() 可能会被调用。

    *onStop() 在您按下主页按钮、后退按钮或启动另一个完全覆盖初始活动的活动时被调用。

    但是,如果没有更多可用内存,系统会调用onDestroy(),因此可以释放内存。

    【讨论】:

    • 我在 Xperia Z 和 LG Optimus L-05E 两台设备上安装了相同的应用程序,当我按下主页按钮时,在 Xperia 中 onDestroy 没有被触发,但在 LG 中被触发。我申请了登录onDestroy 来跟踪状态。
    • 是的,这是可能的,它是特定于设备的。例如,如果主屏幕运行动态壁纸,则更有可能调用 onDestory get 以释放一些内存。
    • 也许 Xperia 上运行了其他应用程序,或者可用的 RAM 较少。
    猜你喜欢
    • 2017-09-10
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2018-11-04
    • 2013-08-21
    • 2017-06-21
    相关资源
    最近更新 更多