我有一个示例应用程序,其中一个Activity
。我希望用户能够使用后退按钮离开应用程序,然后通过应用程序图标租用,而无需创建Activity
的新实例。如何使用后退按钮防止活动的多个实例?
问题是,如果我按下后退按钮并承载n次,那么我最终会得到n个应用程序实例(如在内存分析工具中所观察到的)。
我试过覆盖onBackPressed()
致电finish()
。在这种情况下,我可以看到onDestroy()
被调用,但它仍然在内存中留下了多个Activity
实例。我也尝试了不同的android:launchMode
,其中包括"singleTop"
,"singleTask"
和"singleInstance"
,但在所有情况下仍存在多个Activity
类的实例。
如何防止在这种简单情况下运行Activity
的多个实例?
默认情况下,它应该以您想要的方式工作,除非Android需要回收您的应用正在使用的资源。您应该阅读应用程序生命周期。 – 2013-03-25 15:38:03
啊,你的回答慢慢地回忆起我的一个测试设备有一个不寻常的内存管理方案。特别是,三星S3似乎有某种延迟gc,因此,即使在其他设备更积极地释放内存之后,MAT仍显示内存引用(请参阅前面的问题[此处](http://stackoverflow.com/questions/) 14445224 /调用精加工 - 不 - 不明确的内存引用到活动))。我重新测试了Galaxy Nexus,它的表现如预期 - 所以我认为这是一场虚惊!无论如何,感谢您的回复。 – gcl1 2013-03-25 15:46:15