Android.content.res.Resources$NotFoundException: как с этим бороться?

#android

Вопрос:

просматривая отчеты Crashlytics для моего приложения, я часто вижу сбои, связанные с не найденными ресурсами. Я помещаю все чертежи в папки с определенной плотностью, а также в папку «рисование», но я все еще получаю некоторые из этих сбоев. Например, у меня есть изображение под названием «заголовок», которое я помещаю в следующие папки: «рисование», «рисование-mdpi», «рисование-hdpi», «рисование-xhdpi» и «рисование-xxhdpi». Я вижу, что приложение разбилось на Nexus 5X с Android 8.1.0. Плотность экрана этого телефона составляет 423ppi, поэтому он должен искать изображения в папке xhdpi, верно? Так почему же он не может найти ресурс? Спасибо всем, кто может помочь мне понять, что я делаю не так.

Комментарии:

1. Проверьте полные журналы ошибок , иногда основная ошибка скрывается под этой ошибкой .

Ответ №1:

Если ваш ресурс находится, по крайней мере, в папке для рисования, он его найдет. Другие папки помогут вам сделать ресурс более подходящего размера для ваших пользователей.

Во-первых, просмотрите свои журналы, которые прикреплены к трассировке стека сбоев, чтобы лучше определить, где в пути вашего пользователя происходит этот сбой.

Я бы не удивился, если бы в какой-то момент вашего кода вы инициализировали свой чертеж с целочисленным значением по умолчанию 0 или, возможно, вернулись к таким значениям. Поскольку отображаемый res является целым числом, он будет скомпилирован просто отлично. Но попытка загрузить ресурс со значением 0 приведет к сбою с этим исключением.

Надеюсь, это поможет точно определить вашу проблему!