LruCache

1.官方文档

http://developer.android.com/reference/android/util/LruCache.html 

2.代码如下

 1     public LruCache<String,Bitmap> mMemoryCache;
 2 
 3     void init(){
 4         // 获取应用程序最大可用内存
 5         int maxMemory = (int) Runtime.getRuntime().maxMemory();
 6         int cacheSize = maxMemory / 8;
 7         // 设置图片缓存大小为程序最大可用内存的1/8
 8         mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
 9             @Override
10             protected int sizeOf(String key, Bitmap bitmap) {
11                 return bitmap.getByteCount();
12             }
13         };
14     }
15     /**
16      * 给ImageView设置图片。首先从LruCache中取出图片的缓存,设置到ImageView上。如果LruCache中没有该图片的缓存,
17      * 就给ImageView设置一张默认图片。
18      * @param imageUrl 图片的URL地址,用于作为LruCache的键。
19      * @param imageView 用于显示图片的控件。
20      */
21     private void setImageView(String imageUrl, ImageView imageView) {
22         Bitmap bitmap = mMemoryCache.get(imageUrl);
23         if (bitmap != null) {
24             imageView.setImageBitmap(bitmap);
25         } else {
26             bitmap = getLoacalBitmap(imageUrl);
27             imageView.setImageResource(R.drawable.empty_photo);
28         }
29     }
30     //...

 

posted @ 2015-08-10 23:12  f9q  阅读(153)  评论(0编辑  收藏  举报