[Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画
2014-02-28 18:13
696 查看
以下内容为原创,欢迎转载,转载请注明
来自天天博客:/article/4917470.html
这个可以实现ImageView异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画。
github地址:https://github.com/wangjiegulu/ImageLoaderSample
解决了:
1. listview加载oom问题
2. listview加载时卡顿的现象
3. listview加载时item中图片重复错位等情况
可以配置:
1. 设置加载图片的最大尺寸
2. 设置默认图片的显示
3. 设置图片位图模式
4. 设置内存缓存的最大值。
5. 文件缓存保存的目录
这个框架基本的代码是很久以前不知道哪里弄的,零零碎碎的,现在已经优化了很多,所以现在上传到github上共享。
讲讲使用方式吧:
首先使用前下载源码或者jar包(见github:https://github.com/wangjiegulu/ImageLoaderSample)
然后进行图片加载器(ImageLoader)的配置和初始化,推荐的方法如下:
新建MyApplication类,继承Application,在onCreate中增加如下代码:
然后再AndroidManifest.xml中添加:
到此,配置已经全部完成:
接下来,使用ImageLoader来加载图片:
备注:
例子中,用到了一部分注解(与ImageLoader功能无关,但是可以简化代码的编写) 可以点下面连接进入:
github:https://github.com/wangjiegulu/androidInject
博客:
/article/4917465.html
/article/4917466.html
来自天天博客:/article/4917470.html
这个可以实现ImageView异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画。
github地址:https://github.com/wangjiegulu/ImageLoaderSample
解决了:
1. listview加载oom问题
2. listview加载时卡顿的现象
3. listview加载时item中图片重复错位等情况
可以配置:
1. 设置加载图片的最大尺寸
2. 设置默认图片的显示
3. 设置图片位图模式
4. 设置内存缓存的最大值。
5. 文件缓存保存的目录
这个框架基本的代码是很久以前不知道哪里弄的,零零碎碎的,现在已经优化了很多,所以现在上传到github上共享。
讲讲使用方式吧:
首先使用前下载源码或者jar包(见github:https://github.com/wangjiegulu/ImageLoaderSample)
然后进行图片加载器(ImageLoader)的配置和初始化,推荐的方法如下:
新建MyApplication类,继承Application,在onCreate中增加如下代码:
/** * Created with IntelliJ IDEA. * Author: wangjie email:tiantian.china.2@gmail.com * Date: 14-2-27 * Time: 上午11:25 */ public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); ImageLoader.init(getApplicationContext(), new CacheConfig() .setDefRequiredSize(600) // 设置默认的加载图片尺寸(表示宽高任一不超过该值,默认是70px) .setDefaultResId(R.drawable.ic_launcher) // 设置显示的默认图片(默认是0,即空白图片) .setBitmapConfig(Bitmap.Config.ARGB_8888) // 设置图片位图模式(默认是Bitmap.CacheConfig.ARGB_8888) .setMemoryCachelimit(Runtime.getRuntime().maxMemory() / 3) // 设置图片内存缓存大小(默认是Runtime.getRuntime().maxMemory() / 4) // .setFileCachePath(Environment.getExternalStorageDirectory().toString() + "/mycache") // 设置文件缓存保存目录 ); } …… }
然后再AndroidManifest.xml中添加:
<application ...... android:name="MyApplication"> ...... </application>
到此,配置已经全部完成:
接下来,使用ImageLoader来加载图片:
holder.progress.setText("0%"); holder.progress.setVisibility(View.VISIBLE); final ViewHolder vhr = holder; ImageLoader.getInstances().displayImage(list.get(position), holder.image, new ImageLoader.OnImageLoaderListener() { @Override public void onProgressImageLoader(ImageView imageView, int currentSize, int totalSize) { vhr.progress.setText(currentSize * 100 / totalSize + "%"); } @Override public void onFinishedImageLoader(ImageView imageView, Bitmap bitmap) { vhr.progress.setVisibility(View.GONE); } }); 或者: ImageLoader.getInstances().displayImage(url, imageIv); 或者 ImageLoader.getInstances().displayImage(url, imageIv, 100);
备注:
例子中,用到了一部分注解(与ImageLoader功能无关,但是可以简化代码的编写) 可以点下面连接进入:
github:https://github.com/wangjiegulu/androidInject
博客:
/article/4917465.html
/article/4917466.html
相关文章推荐
- [Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画
- Android:ListView异步加载图片(实现网络下载、存储本地、缓存内存、压缩显示)
- Android listview异步加载图片(线程池,内存缓存,SD卡缓存)优化显示
- Android异步加载图片并缓存到内存和SD卡上
- android 图片异步加载(线程池,等待,唤醒;图片缓存在内存)
- Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)
- android异步加载图片显示,并且对图片进行缓存实例
- android图片的异步加载和双缓存学习笔记——DisplayImageOptions
- Android异步加载图片并缓存到内存和SD卡上
- android图片的异步加载和双缓存学习笔记——DisplayImageOptions
- Android之ListView异步加载网络图片(优化缓存机制)和对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
- Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)
- Android ListView 图片异步加载和图片内存缓存
- Android手机开发:ImageView使用和从内存读取图片显示
- android ImageView 异步下载显示图片
- Android ListView 图片异步加载和图片内存缓存
- (源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)的源码解读
- Android ListView 图片异步加载和图片内存缓存
- Android第三方框架universal-image-loader[图片缓存加载]及其OOM问题处理【常用】,CardView使用[给列表中项+边框]
- Android-Universal-Image-Loaderde 图片异步加载并缓存