Android(安卓)图片内存缓存
16lz
2021-01-26
/** * 图片加载工具 * Created by lezg on 2014/7/24. */public class ImagesLoader { private static ImagesLoader mIamesLoader; private LruCache<Integer, Bitmap> mMemoryCache; private ImagesLoader() { int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); // 设置图片缓存大小为程序最大可用内存的1/4 int cacheSize = maxMemory / 4; mMemoryCache = new LruCache<Integer, Bitmap>(cacheSize) { @Override protected int sizeOf(Integer key, Bitmap bitmap) { return bitmap.getByteCount() / 1024; } }; } /** * 获取 ImagesLoader实例 * * @return ImagesLoader实例 */ public static ImagesLoader getInstance() { if (mIamesLoader == null) { mIamesLoader = new ImagesLoader(); } return mIamesLoader; } /** * 将一张图片存储到LruCache中 * * @param key LruCache的键,这里传人图片资源的ID * @param bitmap LruCache的键bitmap */ public void addBitmapToMemoryCache(int key, Bitmap bitmap) { if (getBitmapFromMemCache(key) == null) { mMemoryCache.put(key, bitmap); } } /** * 从LruCache中获取一张图片,如果不存在就返回null。 * * @param key LruCache的键,这里传人图片资源的ID * @return 对应传入键的Bitmap对象,或者null。 */ public Bitmap getBitmapFromMemCache(int key) { return mMemoryCache.get(key); }}
更多相关文章
- android ——设置圆形图片
- setImageResource(),setImageBitmap()和setImageDrawable()的区别
- 图片的异步加载
- android时间控件TimePicker使用实例
- Android(安卓)中保存图片的代码
- Android广告轮播
- 获取Bitmap和对Bitmap的操作工具类
- android 图片手势放大缩小
- AsyncTask的使用 (二)图片下载,进度条