Size: a a a

Android Developers

2021 February 11

AN

Alyona Novosvit in Android Developers
Leonid
Какой критерий потери качества?

Есть ли смысл пытаться показывать картинку, например 10000х10000 пикселей, если даже таких экранов в природе не существует?

Покопайтесь в glide, там могут быть параметры для уменьшения качества и/или размеров картинки при загрузке.
Спасибо за совет, как раз и смотрю в сторону декод форматов и переопределения таргетов
источник

L

Leonid in Android Developers
Alyona Novosvit
Спасибо за совет, как раз и смотрю в сторону декод форматов и переопределения таргетов
Хозяйке на заметку от Гугла:

https://developer.android.com/topic/performance/graphics/load-bitmap
источник

AN

Alyona Novosvit in Android Developers
уже читала) К сожалению, там ни слова про сохранение качества при сжатии.
источник

L

Leonid in Android Developers
Alyona Novosvit
уже читала) К сожалению, там ни слова про сохранение качества при сжатии.
Качество при сжатии невозможно сохранить у растровых форматов. Можно только поиграться с параметрами сжатия, чтобы получить приемлемый результат.
источник

СП

Сергей П. in Android Developers
Alyona Novosvit
я как раз и спрашиваю как экономить оперативную память в таком случае. Может быть, кто-нибудь работал с картинками в высоком разрешении и знает, как без сильной потери качества можно грузить картинки в ресайклер
Работал. Делаешь от картинки эскиз 200×200  или 300 х300(ThumbnailUtils), хранишь его вместе с картинкой (в файле, в кэшах).
источник

L

Leonid in Android Developers
Сергей П.
Работал. Делаешь от картинки эскиз 200×200  или 300 х300(ThumbnailUtils), хранишь его вместе с картинкой (в файле, в кэшах).
Я так понимаю, что все равно нужно большую грузить, и вот тогда и приходит OOM.
источник

СП

Сергей П. in Android Developers
В рейсайклере крутятся только эскизы
источник

L

Leonid in Android Developers
Сергей П.
В рейсайклере крутятся только эскизы
Так каждый может 😁
источник

СП

Сергей П. in Android Developers
Leonid
Я так понимаю, что все равно нужно большую грузить, и вот тогда и приходит OOM.
У тебя так большая грузится один раз.
источник

L

Leonid in Android Developers
Сергей П.
У тебя так большая грузится один раз.
Она тоже может вызвать OOM
источник

СП

Сергей П. in Android Developers
После изготовления эскиза она не нужна
источник

AN

Alyona Novosvit in Android Developers
Сергей П.
После изготовления эскиза она не нужна
На ресайклере будет доступен зум. Чтобы по пинчу или дабл тапу можно было прибризить и скроллить в удобном масштабе. Здесь нужно сразу грузить картинку с большим разрешением.
источник

СП

Сергей П. in Android Developers
Leonid
Она тоже может вызвать OOM
Нет. Работал с 4096×4096 - одна даже на говнофоне обычно тянется.  
С largeHeap несколько
источник

СП

Сергей П. in Android Developers
Alyona Novosvit
На ресайклере будет доступен зум. Чтобы по пинчу или дабл тапу можно было прибризить и скроллить в удобном масштабе. Здесь нужно сразу грузить картинку с большим разрешением.
Вот по клику на конкр.элемент большая грузится в память  (одна!)и делай с ней что хошь.
А остальные  200 элементов - 200×200×argb = 160k на эскиз, из которых показаны не все.
источник

СП

Сергей П. in Android Developers
У меня так работало в проекте.
источник

AN

Alyona Novosvit in Android Developers
Сергей П.
Вот по клику на конкр.элемент большая грузится в память  (одна!)и делай с ней что хошь.
А остальные  200 элементов - 200×200×argb = 160k на эскиз, из которых показаны не все.
Спасибо за совет, звучит, как решение. Если не получится подшаманить с параметрами сжатия, то буду делать так)
источник

L

Leonid in Android Developers
Alyona Novosvit
Спасибо за совет, звучит, как решение. Если не получится подшаманить с параметрами сжатия, то буду делать так)
При этом все равно желательно уменьшить размеры самих картинок до такой степени, чтобы качество оставалось приемлемым.

Чтобы уменьшить шансы краша на экзотических девайсах.
источник

A

ABI in Android Developers
Telegram
Javanese Online
Всем привет, в следующий четверг, 11 февраля, в 18:00 по МСК будет очередная сессия вопросов и ответов с крайне популярным человеком в Android и не только разработке, а именно Михаилом @Harmonizr

Ссылка на стрим - https://youtu.be/KR99EpB58_Q

Михаил является создателем канала @javanese_online и админом чатов @android_ru, @kotlin_lang и многих других.

На этой сессии мы узнаём побольше о нем и как это быть админом крупнейших каналов ру пространства

Некоторые факты о Михаиле:
- на текущем проекте нет ни одного XML layout
- использует MVVM и датабайндинг без помощи гугла
- передаёт аргументы во фрагменты через конструктор
- нет вышки. Никакой
- смотрит доклады Шипилёва с удовольствием и интересом
- прошёл в Яндекс без знания алгоритмов
- пишет свой индикатор для вьюпейджера быстрее, чем нагугливает подходящий
- генерирует 9-патчи на рантайме

Бей в колокольчик, чтобы не пропустить
источник

O

Ozod in Android Developers
Привет. Я хотел создать простое приложение для заметок. У меня есть два выбора: Room и SQLite. Какой из них вы рекомендуете?
источник

MR

Max Railian in Android Developers
Ozod
Привет. Я хотел создать простое приложение для заметок. У меня есть два выбора: Room и SQLite. Какой из них вы рекомендуете?
Room
источник