在我的应用程序,当我按下home键的活动是要onDestroy()
它想叫onPause()
方法只对不对?
为什么它正在发生这样的吗?
在我的应用程序,当我按下home键的活动是要onDestroy()
它想叫onPause()
方法只对不对?
为什么它正在发生这样的吗?
这取决于你的手机有多少内存,如果你的手机没有非常多的内存,那么它会破坏活动立即释放资源。 在新手机,这不会发生,因为他们有足够的备用内存。
还要检查您不要使用android:noHistory标志在您的清单中的活动
文档:安卓:noHistory无论是否活动应该从活动组中删除,并完成(其完成()调用的方法),当用户从它导航离开,它不再显示在屏幕上
您活动可以在按下home键被破坏,如果系统被限制和决定了它需要释放一些资源。 该文件指出onDestroy()
可以调用,如果:
或者是因为活动结束会发生这种情况(有人叫光洁度()就可以了,或者是因为系统暂时销毁活动的这种情况下,节省空间。你可以这两个场景与isFinishing()方法区分。
另外,也请注意,该系统可以kill
你的程序,而无需调用onDestroy()
后onStop()
被调用。 因此,任何清除/数据持久代码应该是在任一onPause()
或onStop()
嗯,这取决于很多因素。 如果你正面临着在Android 3.2+设备这个问题,你应该屏幕尺寸属性添加到Android:configChanges
android:configChanges="keyboardHidden|orientation|screenSize"
此外,还可以添加机器人:launchMode =“singleTop”到你的发射活动。 难道注意,你需要使用Android SDK 15岁或以上的目标,但是,你的应用程序将运行在旧设备为好。 希望这可以帮助。
另一件事是检查是否您的活动通话finish()
时onPause()
当然,可能是内存的问题,但在这之前检查清单文件,在活动的声明,如果你有“没有历史”声明(你不想让活动继续留在活动堆栈。您也可以使用一些标志时,你有意向创建活动后,最有可能的答案是亚历克斯轮廓给出的一个。