/
Libra
/
my-application
Обзор
Документация
Войти
/
Libra
/
my-application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/libraprogramming/myapplication/caching/ImageCacheImpl.java
42 строки
1 KB
Толмачёв Владимир Викторович
Next commit
20 ноя 2025, 19:49
20 ноя 2025, 19:49
0db7810
Код
Авторство
О чём код?
package com.libraprogramming.myapplication.caching; import android.content.Context; import android.graphics.Bitmap; import android.util.LruCache; import android.widget.ImageView; import androidx.annotation.NonNull; import org.jetbrains.annotations.NotNull; import javax.inject.Inject; import javax.inject.Singleton; import java.util.concurrent.locks.ReentrantLock; @Singleton public class ImageCacheImpl implements ImageCache { private final LruCache<String, Bitmap> lruCache = new LruCache<>(16); private final ReentrantLock reentrantLock = new ReentrantLock(); private final BitmapProviderFactory bitmapProviderFactory; @Inject ImageCacheImpl(BitmapProviderFactory bitmapProviderFactory) { this.bitmapProviderFactory = bitmapProviderFactory; } @Override public void displayImage(@NonNull @NotNull String imageUri, @NonNull @NotNull ImageView imageView) { Bitmap bitmap = lruCache.get(imageUri); if (bitmap == null) { bitmap = bitmapProviderFactory.getBitmapProvider(imageUri).getBitmap(); lruCache.put(imageUri, bitmap); } if (bitmap != null) { imageView.setImageBitmap(bitmap); } } @Override public void displayImage(@NonNull @NotNull String imageUri, @NonNull @NotNull ImageListener imageListener) { ; } }