0

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

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

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

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

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

然而,当我单击其启动器图标时,我的应用程序被重新创建。有任何想法吗?

4

2 回答 2

0

这与关于活动生命周期的所有内容完全一致。

如果一个活动被暂停或停止,系统可以通过要求它完成或简单地终止其进程来从内存中删除该活动。当它再次显示给用户时,它必须完全重新启动并恢复到之前的状态。

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

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

于 2012-11-15T14:09:48.557 回答
0

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

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

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

于 2012-11-15T14:09:53.273 回答