У меня есть приложение, которое уже много лет установлено за многие годы, и кажется, что всегда будут NPE, независимо от того, что я делаю.
Корнем всех этих NPE является объект переменной-члена, который внезапно перестал существовать. Не один, а вообще какой-то предмет, на который держится сильная ссылка, внезапно исчез. Я понятия не имею, в каком состоянии было приложение, или оно вызвано каким-то "app killer" приложением или GC или ...
Я вижу некоторые из этих записей NPE в магазине игр "vitals", а некоторые даже находятся в системных файлах Android, к которым у меня нет доступа. Я НЕ новичок и хорошо понимаю Java / Android, поэтому это меня так озадачивает. В каждой версии я добавляю все больше и больше защитных функций, и это становится излишним, но каждый раз, когда я проверяю жизненно важные органы, я вижу NPE «новый в версии x» старого файла, который не был изменен, и это объект, который ДОЛЖЕН быть там.
Есть ли способ отследить истинную причину удаления? или как вообще относятся к этим исключениям?!
Edit:
Мы не говорим об ОДНОМ отдельном NPE, мы говорим о НЕСКОЛЬКИХ, каждое из которых происходит с частотой менее 0,1% (в зависимости от магазина игр) во всем приложении, которое состоит из 20+ Активностей, и все это работает гладко на всех испытательные устройства на протяжении многих лет.
Я предполагаю, что это происходит в различных крайних случаях, например, когда приложение находится в фоновом режиме в течение нескольких недель или находится в фоновом режиме при нехватке памяти и т. Д., Но оно не сообщает мне, когда это произошло (в записи магазина воспроизведения)