Недавно я получил отчет о сбое NullPointerException на рынке Android с одним из моих приложений.Я не смог воссоздать ошибку при тестировании, поэтому подумал, что это может быть связано с конкретным устройством.Чтобы решить эту проблему, я включил BugSense в мою последнюю версию.BugSense работал, сообщая о других проблемах, и был очень полезен, но я все еще получаю сообщения об исходной ошибке с последней версией в Android Market, но в BugSense.BugSense не работает на некоторых устройствах?
Некоторые подробности о сбое:
- BugSense вызывается в моей активности на заставке.
- На заставке открывается основная операция.
- MainАктивность имеет экземпляр MyObject.
- MyObject устанавливается, когда пользователь щелкает элемент в ListView.
- При нажатии элемента в ListView открывается AlertDialog.
- MyObject.getName () вызывается в onCreateDialog.
- Происходит сбой - NPE.
Ошибка не отображается на панели мониторинга BugSense.Комментарии пользователей в Android Market гласят: «приложение падает, как только оно открывается».Первоначально я думал, что пользователь нашел способ открыть диалоговое окно, не щелкая элемент списка, но после просмотра комментария пользователя кажется, что приложение пытается получить доступ к onCreateDialog, прежде чем его когда-либо нужно будет вызывать.
Так что мойвопросы: как приложение может аварийно завершить работу, не сообщая об этом BugSense?и зачем вызывать onCreateDialog до того, как это когда-нибудь понадобится Activity?