休眠后,Android应用程序关闭点火

时间:2013-06-15 01:48:20

标签: android hibernate orientation amazon

我在Kindle Fire上的应用程序出现问题。

我没有自己的设备,但应用评论员(以及我的一位朋友为我测试过它)在应用程序关闭时遇到问题,在休眠状态下没有出现任何错误消息。< / p>

确切的问题是,如果您以纵向休眠,然后在将设备移至横向模式后退出休眠状态,则只需显示主屏幕即可。没有力量关闭或任何东西。

有趣的是,如果你在应用程序中的另一个活动(它只有2个屏幕),它的工作正常。主菜单活动是发生这种情况的活动。我已经检查了onResume的两个活动,它们是一样的。但是,主菜单屏幕是ListActivity。这可能是问题的一部分吗?

更改方向后重新开始时,是否再次调用OnCreate?

我希望有人可以指出我正确的方向,因为我唯一的测试方法是重新提交并向海外朋友发送APK。

2 个答案:

答案 0 :(得分:0)

我有一个类似的问题,一些复杂的Kindle与休眠和改变方向。令人沮丧的是,由于他们没有运到我的国家,我甚至无法获得Kindle火灾。

我能为你回答的一点是“在改变方向后重新开始时,OnCreate再次被召唤?”我对以下指南的理解是onCreate没有被调用,但你必须在简历和暂停时使用。

“您的应用必须考虑Kindle Fire上的休眠状态 - 休眠是用户启动还是在屏幕超时后发生。类似于快速设置优化,休眠优化需要正确处理onPause()和onResume()方法“。

https://developer.amazon.com/post/Tx385PNGJFMEB4R/Managing-Hibernation-Top-10-App-Optimizations-for-Kindle-Fire.html

我真的很难与Kindle模拟器斗争,而且大部分时间都无法启动它。

答案 1 :(得分:0)

我也遇到了同样的问题。 这是因为在Kindle上,如果用户休眠,改变方向并退出休眠状态,则在OnResume()之前调用onConfigurationChanged()方法。

这是亚马逊在Android上出现碎片问题。

作为一种解决方法,我宣布两个布尔值已经暂停,并且isActivityNeedReconstructionAfterConfigChange。

代码看起来像这样: void onPause(){

isPaused = true;

} void onResume(){

if(isPaused&amp;&amp; isActivityNeedReconstructionAfterConfigChange){

//do what you do in onConfigurationChanged()
}
isPaused = false;

}

void onConfigurationChanged(){

isActivityNeedReconstructionAfterConfigChange = true;

if(!isPaused){

   isActivityNeedReconstructionAfterConfigChange = false;

   //do what you do in onConfigurationChanged()

}

}