当我的主要活动在闪屏之后启动时,它解析4个大的XML文件。这需要几秒钟的时间,我可以在启动时闪屏显示的时间中隐藏这一点。
但是当屏幕方向改变时,或者当我在子活动之后返回到主活动时,它会再次解析,因此我的应用程序“挂起”了几秒钟,在这段时间内它没有响应或其他任何事情。
我知道这在Android中是正常的行为,但是没有办法避免这种情况吗?
我读了一些关于seem的东西,但我似乎不能理解文档..
发布于 2010-12-06 18:55:14
如果您的目标API级别为12或更低,请将此代码添加到android清单文件中的每个活动节点中。
android:configChanges="orientation|keyboardHidden"对于13级和更高级别,您还必须包括"screensize",即:
android:configChanges="orientation|keyboardHidden|screenSize"现在将这段代码粘贴到每个活动的java类中。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
// Checks whether a hardware keyboard is available
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
}
}发布于 2010-12-06 16:56:12
您可以通过在AndroidManifest文件中将android:configChanges="orientation"添加到您的活动中来防止这种情况。
https://stackoverflow.com/questions/4364545
复制相似问题