Всем привет. Делаю приложения для редактирования фото и хочу добаивть стикеры в приложение. Нашел достаточно много стикеров в интернете но столкнулся с проблемой отображения. Все стикеры тобишь PNG картинки у меня находяться в папке drawable (350 штук) при отображении DialogFragment внутри которого RecyclerView происходит подвисание пока все картинки не отрисуються и потом при скролинге тоже немного подвисает из за большого количества картинок. Я пробовал сжать картинки и уменшить качество
public Bitmap getResizedBitmap(Bitmap image, int maxSize) {
int width = image.getWidth();
int height = image.getHeight();
float bitmapRatio = (float)width / (float) height;
if (bitmapRatio > 1) {
width = maxSize;
height = (int) (width / bitmapRatio);
} else {
height = maxSize;
width = (int) (height * bitmapRatio);
}
return Bitmap.createScaledBitmap(image, width, height, true);
}
Но это значительно не повлияло на проблему. Как сделать что бы все работало без подвисаний?
Вообще желательно 350 картинок хранить на бекенде и при необходимости подгружать стикеры. В вашем случае если стикеры все таки хранятся локально, getResizedBitmap не нужно делать это нагрузка большая , руками сожмите картинки и уже сжатые добавьте в drawables + не надо все 350 отдавать RecyclerAdapter , используйте пагинацию, ну и для отображения советую Glide.
Помог ресайзинг отображаемых фото я сделал это через Piscasso образом:
Picasso.get().load(stickerList[position])
.resize(80,100)
.into(holder.imgSticker);
Лаги при скроле recyclerview прошли.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
У меня это не получаетсяВ документации написано, что такая операция недопустима
Я пишу приложение и там необходимо использовать QRМне нужно каким-то образом закинуть в QR 2 сценария: