Android - 让活动保持活力

时间:2012-11-15 14:06:35

标签: android

我有一个令人费解的问题。如果我在任何设备/模拟器上从Eclipse部署我的应用程序,我可以使用Back和Home按钮来最小化它,然后我可以单击启动器图标来恢复它。

如果我拿了apk,把它放在手机上并安装它(使用Astro文件管理器),然后按Back或Home,当我再次点击启动器图标时,我的应用程序将被重新创建而不是恢复:活动没有被摧毁。

这与Android开发者网站上有关活动及其生命周期的所有内容相违背。

例如,当用户使用“后退”按钮时,我就会这样做:

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

然而,当我点击其启动器图标时,我的应用程序会重新创建。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这完全适用于所有关于活动生命周期的内容。

  

如果活动暂停或停止,系统可以放弃活动   从记忆中要么完成要么完全杀死它   处理。当它再次显示给用户时,它必须完全显示   重新启动并恢复到之前的状态。

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

您的应用程序未“最小化”。在Android中没有最小化的东西。它不是Linux,Windows或OSX。

答案 1 :(得分:0)

这是真的,按Back会杀死你的活动。但是,为什么这是一个问题呢? Android提供了一种机制来保存您的活动状态并能够恢复。

查看活动生命周期:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

这是关于保存活动状态的必读内容:http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState