我有一个应用程序,它显示不同的DialogFragments
以响应不同的操作(主要是异步操作)。我正在使用支持库的最新版本(通过SDK Manager不断更新)
所有操作都会在回调中抛出Intent
意图在BroadcastReceiver
中处理,在onPostResume
回调中注册(并在onPause
中未注册)。
在捕获意图后立即显示对话框:
if(Constants.SHOW_DIALOG_INTENT.equals(intent.getAction()) {
showDialog();
}
通过show(FragmentManager, String)方法
显示对话框所以问题是:为什么我从某些用户那里得到IllegalStateException
(应用程序被10k +用户使用,但到目前为止只有10-15个异常被捕获)。我不知道是什么导致这种情况,除了某种竞争条件(Activity
在showDialog()
和实际DialogFragment.show()
来电之间{{1}}
我可以做些什么来避免这种情况(据我所知,0.1%的错误是可以接受的,但我只是想找到问题)?