我有 MainActivity它扩展了TabActivity并拥有由Activity1和Activity2表示的两个选项卡
1.如果我从 Eclipse MainActivity->onCreate()在模拟器或设备上运行此应用程序,它会通过Dialog为用户提供位置选择。当用户选择一个地方时,会创建选项卡的活动并设置 currentTab 将Activity1置于前面并暂停 MainActivity。
2.每当我点击 HOME 按钮或点击 Back 几次。我可以看到MainActivity以及Activity1和Activity2是PAUSED。
3.当我在后者之后转到 Application/MyApp 时, Application 的状态得到维护,我可以看到任何正在运行的活动都被RESUMED带回了前面。
这部分工作得很好
但是,如果我将 MyApp 导出为发布版本。
如果我遵循 1 和 2,然后尝试转到 Applications/MyApp,我总是会得到对话框以进行位置选择,这意味着MainActivity正在创建,这反过来意味着它在我去 HOME 时被破坏。
- 为什么在构建版本中会发生这种情况,但在我从 Eclipse 运行时却没有?
对我来说更奇怪的是,当我在对话框屏幕上按 BACK 按钮时,我会从我之前启动的 MyApp 中获得Activity1 或 2 。这意味着Activity1 或 2 (按下HOME时在前面的 Activity )没有被破坏。
- MainActivity(TabHost 的基础)是否可以在包含未销毁的Activity1 或 2时被销毁?
希望我解释得很好
更新 27.03.2012
现在这很有趣:) 我构建 apk 然后将其上传到服务器。然后在我的 Galaxy 2.2 上,我在浏览器中输入 url 并下载 apk。下载完成后我安装它。安装完成后,当我按下打开时,我有两个选项打开和完成,我可以复制前面描述的问题。但是当我选择完成并稍后通过应用程序菜单访问它时,它可以正常工作!所以这个选择决定了应用程序以后的行为?为什么?如何?我很困惑