同时按下home键Acivity是越来越摧毁。(Acivity is getting destroy

2019-07-18 04:49发布

在我的应用程序,当我按下home键的活动是要onDestroy() 它想叫onPause()方法只对不对?

为什么它正在发生这样的吗?

Answer 1:

这取决于你的手机有多少内存,如果你的手机没有非常多的内存,那么它会破坏活动立即释放资源。 在新手机,这不会发生,因为他们有足够的备用内存。



Answer 2:

还要检查您不要使用android:noHistory标志在您的清单中的活动

文档:安卓:noHistory无论是否活动应该从活动组中删除,并完成(其完成()调用的方法),当用户从它导航离开,它不再显示在屏幕上



Answer 3:

您活动可以在按下home键被破坏,如果系统被限制和决定了它需要释放一些资源。 该文件指出onDestroy()可以调用,如果:

或者是因为活动结束会发生这种情况(有人叫光洁度()就可以了,或者是因为系统暂时销毁活动的这种情况下,节省空间。你可以这两个场景与isFinishing()方法区分。

另外,也请注意,该系统可以kill你的程序,而无需调用onDestroy()onStop()被调用。 因此,任何清除/数据持久代码应该是在任一onPause()onStop()



Answer 4:

嗯,这取决于很多因素。 如果你正面临着在Android 3.2+设备这个问题,你应该屏幕尺寸属性添加到Android:configChanges

    android:configChanges="keyboardHidden|orientation|screenSize"

此外,还可以添加机器人:launchMode =“singleTop”到你的发射活动。 难道注意,你需要使用Android SDK 15岁或以上的目标,但是,你的应用程序将运行在旧设备为好。 希望这可以帮助。



Answer 5:

另一件事是检查是否您的活动通话finish()onPause()



Answer 6:

当然,可能是内存的问题,但在这之前检查清单文件,在活动的声明,如果你有“没有历史”声明(你不想让活动继续留在活动堆栈。您也可以使用一些标志时,你有意向创建活动后,最有可能的答案是亚历克斯轮廓给出的一个。



文章来源: Acivity is getting destroyed while pressing the home button.