方法一:加载本地图片,没有在imageview中使用src的引用。huiyuan是imageview的id所得的控件名。
BitmapDrawable bd = new BitmapDrawable(getResources(), ReadBitmap.readBitMap(this, R.drawable.huiyuan));
huiyuan.setBackgroundDrawable(bd);
方法二:加载网络图片
//网络请求头像
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
//缓存
// 获取到可用内存的最大值,使用内存超出这个值会引起OutOfMemory异常。
// LruCache通过构造函数传入缓存值,以KB为单位。
int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
// 使用最大可用内存值的1/8作为缓存的大小。
int cacheSize = maxMemory / 8;
final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
//重写此方法来衡量每张图片的大小,默认返回图片数量。
return bitmap.getByteCount() / 1024; }};ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() { @Override public Bitmap getBitmap(String s) {
return lruCache.get(s);
}
@Override
public void putBitmap(String s, Bitmap bitmap) {
lruCache.put(s, bitmap);
}
};
ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache);
ImageLoader.ImageListener listener = ImageLoader.getImageListener(view, R.drawable.error, R.drawable.error);