我有三部用于开发的安卓手机。Galaxy S、Galaxy S3 和 HTC one X。在 S 和 HTC 上,我的应用程序运行良好。但是,在 S3 上,有一个奇怪的错误。
我Dialog
在主要活动中打开一个,然后dismiss()
它。然后我继续进行另一项活动。然后我按下后退按钮,由于某种原因,onPrepareDialog()
主活动的方法运行,关闭Dialog
作为它的参数。这要么什么都不做(从用户的角度来看),要么它可能会崩溃,因为onPrepareDialog()
期望应用程序处于某种状态,而不是在这种情况下。
现在,很明显,我不应该让它失去这样的好状态,或者我应该在它发生的时候处理。不管这个问题的答案如何,我都会解决这些问题。但是为什么onPrepareDialog()
首先调用该方法,为什么它只会在 S3 上引起问题?
(我刚刚意识到 S3 可能不是唯一一个运行该方法的,而是唯一一个正在丢失状态的,但我实际上并没有任何真正的想法。)