[Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画

  次阅读 作者:智能小宝 来源:互联网 2015-10-03 11:21 我要评论(0)

这个可以实现ImageView异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画。

解决了:

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中增加如下代码

复制代码

1 /**

2* Created with IntelliJ IDEA.

3* Author: wangjieemail:tiantian.china.2@gmail.com

4* Date: 14-2-27

5* Time: 上午11:25

6*/

7 public class MyApplication extends Application{

8@Override

9public void onCreate() {

10super.onCreate();

11ImageLoader.init(getApplicationContext(),

12new CacheConfig()

13.setDefRequiredSize(600) // 设置默认的加载图片尺寸(表示宽高任一不超过该值,默认是70px)

14.setDefaultResId(R.drawable.ic_launcher) // 设置显示的默认图片(默认是0,即空白图片)

15.setBitmapConfig(Bitmap.Config.ARGB_8888) // 设置图片位图模式(默认是Bitmap.CacheConfig.ARGB_8888)

16.setMemoryCachelimit(Runtime.getRuntime().maxMemory() / 3) // 设置图片内存缓存大小(默认是Runtime.getRuntime().maxMemory() / 4)

17 //.setFileCachePath(Environment.getExternalStorageDirectory().toString() + "/mycache") // 设置文件缓存保存目录

18);

19

20}

21

22

23……

24 }

复制代码

然后再AndroidManifest.xml中添加:

<application

......

android:name="MyApplication">

......

</application>

到此,配置已经全部完成:

接下来,使用ImageLoader来加载图片:

复制代码

1 holder.progress.setText("0%");

2holder.progress.setVisibility(View.VISIBLE);

3final ViewHolder vhr = holder;

4ImageLoader.getInstances().displayImage(list.get(position), holder.image, new ImageLoader.OnImageLoaderListener() {

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...