我最近在我的一个应用程序的 android 市场上收到了 NullPointerException 崩溃报告。测试时我无法重新创建错误,所以我认为它可能特定于设备。为了解决这个问题,我在我的最新版本中加入了 BugSense。BugSense 一直在报告其他问题并且非常有帮助,但我仍然收到有关 Android Market 中最新版本但在 BugSense 中的原始错误的报告。BugSense 是否不适用于某些设备?
关于崩溃的一些细节:
- 在我的启动画面活动中调用了 BugSense。
- 启动画面打开主活动。
- Main Activity 有一个 MyObject 实例。
- MyObject 在用户单击 ListView 中的项目时设置。
- 单击 ListView 中的一个项目会打开一个 AlertDialog。
- MyObject.getName() 在 onCreateDialog 中被调用。
- 发生崩溃 - NPE。
错误不会出现在 BugSense 仪表板上。Android Market 中的用户评论状态“应用程序一打开就崩溃”。我最初的想法是用户找到了一种无需单击列表项即可打开对话框的方法,但在看到用户评论后,应用程序似乎正试图在需要调用 onCreateDialog 之前访问它。
所以我的问题是:如果没有 BugSense 报告,应用程序怎么可能崩溃?为什么会在 Activity 需要它之前调用 onCreateDialog?