我注意到一个似乎只出现在Android 4.3上的问题。我正在使用AlertDialog,当通过在onSaveInstanceState()中存储对话状态而发生方向更改时,我会在onCreate函数中解除并显示它。
在其他版本的android(4.0.x,4.1.x,4.2.x,2.3.x)上,这非常好用。我可以多次旋转设备,对话框永远不会消失,但在Android 4.3上,如果我旋转屏幕足够,对话框将消失但如果我再次旋转屏幕则会立即重新出现。我注意到每次对话框消失时我都会在Logcat中看到GL_INVALID_OPERATION
错误。
我想知道这是一个已知错误还是有任何解决方法。
答案 0 :(得分:0)
经过大量测试后,似乎这是一个计时故障。我不太确定后台发生了什么,但是我可以从一些GL对象在尝试显示对话框时没有准备好的行为中猜到导致不绘制对话框。
我发现了一种解决方法,只需在类中声明一个处理程序并对处理程序执行post事件以显示对话框。它似乎给活动足够的时间来初始化一切,问题不再发生。