Подтвердить что ты не робот

Android: доступные разрешения

Я прошел через этот пост (и другие), а также через документацию о поддержке различных разрешений экрана в Android, но я не смог найти четкий ответ на (простой) вопрос:

Можно ли просто использовать "res/drawable" для изображений в приложении Android?

Фон: единственные изображения, которые необходимы в этом конкретном приложении, - это значок приложения и значок для уведомления, в любом макете не будет изображений.
Поэтому, в моем понимании, если нет, hdpi", "mdpi" и "ldpi", Android будет использовать "res/drawable" в качестве резервной копии. Как единственная ошибка с разным разрешением экрана, похоже, что Android будет масштабировать изображения для конкретного разрешения, если не найдено специального, это должно быть проблемой только при UPscaling, потому что изображение будет размыто. Но если я предоставил все "hdpi" -изображения в "res/drawable" (вместо 3 разных), не будет ли Android просто DOWN масштабировать эти изображения, если размер слишком велик?
Если это правда, я мог бы сэкономить некоторые APK-пространства на одну треть изображений.

Последующий вопрос: я прочитал, что для уровня API 3 требуется имя dir с именем "drawable-v3". Является ли это истинным или "вытягивающим" резерв для этого уровня API также?

Любой намек оценивается.

4b9b3361

Ответ 1

Предполагается, что изображения в папке drawables имеют разрешение mdpi, поэтому они будут масштабироваться вверх/вниз, если вы не предоставите другие.

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

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

Не скоро у нас будут устройства xhdpi, поэтому, пока вы на нем, вы также можете создать их.

Я предполагаю, что вы прочитали this

Ответ 2

Не полный ответ, но: сильно уменьшенные изображения могут и обычно выглядят так же плохо, как и масштабированные изображения (но по-другому), потому что графические библиотеки почти исключительно используют методы интерполяции для изменения размера, а методы интерполяции ограничены в терминах насколько они могут сжимать изображение до серьезной потери информации (до 50% для линейных методов и до 25% для бикубических методов). Вот почему на большинстве платформ были разработаны соглашения (например, hdpi, mdpi и т.д.), Которые позволяют вставлять изображения, которые лучше всего подходят для каждого размера экрана.

Ответ 3

Я использую drawable/все время, а затем я иду в BestBuy и все локальные магазины беспроводной сети и тестирую свои приложения на небольших/больших/огромных (планшетных) устройствах, и они выглядят просто отлично.

Ответ 4

Если у вас нет причин ориентироваться на устройства до-Donut (теперь только 4% устройств в соответствии с http://developer.android.com/resources/dashboard/platform-versions.html), то вы должен помещать ваши растровые изображения в один из каталогов -Xdpi. Общий "drawable" каталог является синонимом "drawable-mdpi" по соображениям совместимости, но современное хорошо написанное приложение должно помещать свои чертежи в каталог, соответствующий плотности, для которой они предназначены.

Ответ 5

res/drawable - резервный

предостережение заключается в том, что масштабирование не только ухудшает изображение, но и время обработки.

Я даже не читал документы API-уровня 3, извините за ответ 1/2

Ответ 6

Для чего я считаю, что обработка изображений на Android была утомительной и ненадежной. Концепция включения изображений разных размеров для разных экранов приведет к разрастанию больших файлов приложений с помощью изображений. Уже есть экраны, которые не соответствуют стандартным диапазонам разрешения. Я нашел, что лучше не позволять андроиду обрабатывать масштабирование, похоже, создает базовое изображение для самого маленького экрана, на который вы нацеливаетесь, а затем масштабируйте его, в результате получив обычные изображения на больших экранах. Это происходит, даже если вы сделали изображение специально для большого экрана. Мое решение, которое, похоже, работает на всем, от 2-дюймового телефона Samsung до планшета Sony, - это создание изображений с высоким разрешением и использование Bitmap.createScaledBitmap() для получения необходимого размера.

caveat: Я новичок в Android и у меня есть чему поучиться.