Обычное изображение, добавленное в папку для рисования, не отображается на устройстве Samsung — Android

#android #android-layout #android-drawable

#Android #android-layout #android-drawable

Вопрос:

У меня есть одно изображение размером 1,2 МБ и размером 2436 * 1539. Я добавил это изображение в одну drawable папку вместо того, чтобы добавлять его в разные папки для рисования (drawable-hdpi, drawable-xdpi, drawable-xxdpi, drawable-xxxdpi) .

Когда я запускаю свое приложение на устройстве Samsung SM-G7102, изображение не отображается. Устройства используют xhdpi изображения. Также оно отображается на любом другом устройстве.

Но когда я добавляю изображение в drawable-xxxhdpi папку, оно работает и для этого устройства Samsung SM-G7102.

Как мы знаем, после добавления изображения в xxxhdpi Android runtime оно отключается для всех устройств с разрешением dpi.
Но мой вопрос в том, почему добавление его в простую drawable папку не работает?

Мы будем признательны за любую помощь. Заранее спасибо.

Ниже приведен мой XML-код для настройки изображения:

 <android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        <android.support.v7.widget.AppCompatImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/background_image" />
</android.support.constraint.ConstraintLayout>
  

Ответ №1:

res/drawable/ это устаревший каталог, эквивалентный res/drawable-mdpi/ .

Следовательно, Android увеличит масштаб изображения при загрузке его на -xhdpi устройство. Это увеличение в 2 раза для каждого размера, так что ваше результирующее изображение будет 4872 * 3078. ARGB_8888 Изображение занимает ~ 57 МБ, и у вас, вероятно, закончилась память.

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

1. Итак, должен ли я добавить изображение в res/drawable-xxxhdpi/ , поскольку Android уменьшит его выборку?

2. @Kavita_p: Либо так, либо поместите его в res/drawable-nodpi/ . Тогда Android не будет уменьшать его (или увеличивать), а вместо этого оставит его в покое.

3. да, для обработки понижающей и повышающей дискретизации требуется время по мере выполнения операции. Поэтому лучше добавить изображение в drawable-nodpi папку. Спасибо за помощь.