DialogFragment 导致 ANR
DialogFragment causing ANR
我在真实设备上遇到 DialogFragment 的一些奇怪问题。三星盖乐世 Note 4.
当我尝试打开一个对话框时,应用程序进入了一个无限循环(来自系统的东西)并在一段时间后给出了 ANR。一切都被封锁了。没有日志。在调试中,断点在对话框的显示方法之后。
这是我用来显示对话框的方法:
public void openLivecastMenuDialog() {
MenuDialog menuDialog = (MenuDialog) getSupportFragmentManager().findFragmentByTag(MENU_STORY_TAG);
if (null == menuDialog) {
// Menu fragment not found in the fragment manager, initialize it
menuDialog = MenuDialog.newInstance(MenuType.MENU_STORY, currentTag);
}
isCoverChanged = false;
// Show the menu fragment
menuDialog.show(getSupportFragmentManager(), MENU_STORY_TAG);
}
MenuDialog 是一个 "v4.app.DialogFragment"。
什么会造成这种行为?
LE:
不是因为 DialogFragment。这是因为在创建对话框时调用了 Google Analytics。
该死的服务。
您可以添加在设备 dumpsys anr 中生成的 logcat 文件吗?
您也可以使用 cmd 行来捕获 logcat。 运行 下面的命令然后重现 anr
adb shell logcat -v threadtime > filename.txt
不是因为 DialogFragment。这是因为在创建对话框时调用了 Google Analytics。该死的服务。
我在真实设备上遇到 DialogFragment 的一些奇怪问题。三星盖乐世 Note 4.
当我尝试打开一个对话框时,应用程序进入了一个无限循环(来自系统的东西)并在一段时间后给出了 ANR。一切都被封锁了。没有日志。在调试中,断点在对话框的显示方法之后。
这是我用来显示对话框的方法:
public void openLivecastMenuDialog() {
MenuDialog menuDialog = (MenuDialog) getSupportFragmentManager().findFragmentByTag(MENU_STORY_TAG);
if (null == menuDialog) {
// Menu fragment not found in the fragment manager, initialize it
menuDialog = MenuDialog.newInstance(MenuType.MENU_STORY, currentTag);
}
isCoverChanged = false;
// Show the menu fragment
menuDialog.show(getSupportFragmentManager(), MENU_STORY_TAG);
}
MenuDialog 是一个 "v4.app.DialogFragment"。
什么会造成这种行为?
LE:
不是因为 DialogFragment。这是因为在创建对话框时调用了 Google Analytics。 该死的服务。
您可以添加在设备 dumpsys anr 中生成的 logcat 文件吗?
您也可以使用 cmd 行来捕获 logcat。 运行 下面的命令然后重现 anr
adb shell logcat -v threadtime > filename.txt
不是因为 DialogFragment。这是因为在创建对话框时调用了 Google Analytics。该死的服务。