我遇到了Kitkat的问题。我有一个正在运行的应用程序(事实上它适用于android 2.3-4.2)但现在在Kitkat中表现得很奇怪。 当我打电话
db.beginTransaction();
Intent intent = new Intent(getApplicationContext(),TriggerSelectionPopupActivity.class);
intent.putExtra("_id", _id);
startActivityForResult(intent, 0);
当TriggerSelectionPopupActivity
返回时,调用者活动被卡住(onActivityResult
也未被调用)。
如果调用是正常的startActivity
,也会发生这种情况,而如果我没有在数据库上调用beginTransaction()
方法,则会发生这种情况。
没有生成错误消息,BTW,只是ANR情况。
有没有人遇到过类似的问题?
更新
好的,我发现这是由于开发人员选项中的“不保留活动”选项。当返回的TriggerSelectionPopupActivity
找不到调用者活动时。因此,它被重新创建并再次调用db.beginTransaction()
导致死锁。