1

我注意到一个似乎只发生在 Android 4.3 上的问题。我正在使用 AlertDialog,当通过将对话框状态存储在 onSaveInstanceState() 中发生方向更改时,我将其关闭并显示在 onCreate 函数中。

在其他版本的 android(4.0.x、4.1.x、4.2.x、2.3.x)上,这工作得很好。我可以多次旋转设备,对话框永远不会消失,但在 Android 4.3 上,如果我足够旋转屏幕,对话框会消失,但如果我再次旋转屏幕会立即重新出现。我注意到每次对话框消失时,我都会GL_INVALID_OPERATION在 Logcat 中看到一个错误。

我想知道这是否是一个已知的错误,或者是否有任何解决方法。

4

1 回答 1

0

经过大量测试,这似乎是一个时序故障。我不太确定后台发生了什么,但我可以从尝试显示对话框时某些 GL 对象未准备好导致对话框无法绘制的行为猜测。

我找到了一种解决方法,只需在类中声明一个处理程序并对处理程序执行一个发布事件以显示对话框。它似乎给了活动足够的时间来初始化一切,问题不再发生。

于 2013-08-15T18:23:39.393 回答