Android三种基本的加载网络图片方式,包括普通加载网络方式、用ImageLoader加载图片、用Volley加载图片。
普通加载网络方式:
public class NormalLoadPictrue {
}
public class ImageLoaderPicture {
private DisplayImageOptions options;
public ImageLoaderPicture(Context context) {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging()
.memoryCache(new WeakMemoryCache())
.build();
ImageLoader.getInstance().init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(0)
.showImageForEmptyUri(0)
.showImageOnFail(0)
.cacheInMemory().cacheOnDisc()
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)
.bitmapConfig(android.graphics.Bitmap.Config.RGB_565)
.build();
}
public DisplayImageOptions getOptions() {
return options;
}
public void setOptions(DisplayImageOptions options) {
this.options = options;
}
}
public
class
VolleyLoadPicture {
private
ImageLoader mImageLoader =
null
;
private
BitmapCache mBitmapCache;
private
ImageListener one_listener;
public
VolleyLoadPicture(Context context,ImageView imageView){
one_listener = ImageLoader.getImageListener(imageView,
0
,
0
);
RequestQueue mRequestQueue = Volley.newRequestQueue(context);
mBitmapCache =
new
BitmapCache();
mImageLoader =
new
ImageLoader(mRequestQueue, mBitmapCache);
}
public
ImageLoader getmImageLoader() {
return
mImageLoader;
}
public
void
setmImageLoader(ImageLoader mImageLoader) {
this
.mImageLoader = mImageLoader;
}
public
ImageListener getOne_listener() {
return
one_listener;
}
public
void
setOne_listener(ImageListener one_listener) {
this
.one_listener = one_listener;
}
class
BitmapCache
implements
ImageCache {
private
LruCache mCache;
private
int
sizeValue;
public
BitmapCache() {
int
maxSize =
10
*
1024
*
1024
;
mCache =
new
LruCache(maxSize) {
@Override
protected
int
sizeOf(String key, Bitmap value) {
sizeValue = value.getRowBytes() * value.getHeight();
return
sizeValue;
}
};
}
@Override
public
Bitmap getBitmap(String url) {
return
mCache.get(url);
}
@Override
public
void
putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
}
}