安卓图片框架:universal-image-loader的高速使用
在安卓开发过程中难免会遇到下面几个情况:
1、图片异步载入
2、图片缓存
3、图片显示
4、其他……(忘记了)
以上的这些情况,可能要自己去写不少代码去实现这些功能。并且对于一些新手,可能写了半天,发现效果非常不理想、内存问题也处理不好、异步也不好控制(我就是这样)。所以搜了一下。发现网上最流行的一个安卓图片开源框架 universal-image-loader,亲自使用了一下,发现真是的好用啊。一共就加十几行代码就搞定了。妈妈再也不用操心我花时间去瞎搞八搞的了!
好了。以下来说说高速使用这个框架的步骤:
一、往project的libs目录中加入 universal-image-loader-1.9.2-with-sources.jar 这个Jar包。
二、新建一个 继承application的类。当中的代码看以下:
public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
initImageLoader(getApplicationContext());
} public static void initImageLoader(Context context) {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.threadPriority(Thread.MAX_PRIORITY).denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO)
.writeDebugLogs() // Remove for release app
.build();
ImageLoader.getInstance().init(config);
} }
注意。这个application类要在menifest中的application标签中注明哦。就是以下这样:
<application
android:name="com.lee.example.MyApplication"
好了,加入完以上两步的内容,主要的框架环境就搭建好了。以下是怎样使用它来载入网络图片:
先声明两个对象:
private DisplayImageOptions
options;
private ImageLoader
imageLoader;
然后在类的构造函数或者activity的increate方法中初始化它们:
imageLoader = ImageLoader.getInstance();
options =
new DisplayImageOptions.Builder()
.showImageOnLoading(null)//载入过程中显示的图片
.showImageForEmptyUri(null)//载入内容为空显示的图片
.showImageOnFail(null)//载入失败显示的图片
.cacheInMemory(true).cacheOnDisk(true).considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565).displayer(new FadeInBitmapDisplayer(388)).build();
以下是使用:
imageLoader.displayImage(imageFile,
imageView, options);
说明:
imageFile:图片的网络路径(也能够用本地的路径哦,详情看文末的框架github中文档说明)
imageView:就是图片控件哈~
就上面这么一句。太方便了哈。
框架的github地址:https://github.com/nostra13/Android-Universal-Image-Loader
小广告:关注微信公众号:“大大花猫” ,它是一个智能聊天机器人,能够回答各种问题,包含查询各种信息哦!
它还能够进行人脸识别,仅仅要发送一张人脸照片,就能够进行识别并回复出各种信息哦!
它还有很多微信网页小游戏哦!还有很多其它精彩功能正在开发中! 快快关注吧!^ ^
安卓图片框架:universal-image-loader的高速使用的更多相关文章
- Android 使用图片异步载入框架Universal Image Loader的问题
使用的Jar包 问题: optionsm = new DisplayImageOptions.Builder() .displayer(new RoundedBitmap ...
- Android中Universal Image Loader开源框架的简单使用
UIL (Universal Image Loader)aims to provide a powerful, flexible and highly customizable instrument ...
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使 ...
- Fresco图片框架内部实现原理探索
流行的网络框架 目前流行的网络图片框架: Picasso.Universal Image Loader.Volley的(ImageLoader.NetworkImageView).Glide和Fres ...
- 开源项目Universal Image Loader for Android 说明文档 (1) 简单介绍
When developing applications for Android, one often facesthe problem of displaying some graphical ...
- universal image loader自己使用的一些感受
1.全局入口的Application定义初始化: ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Build ...
- 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
在之前的文章,我们重点讲了Android-Universal-Image-Loader的三个主要组件,现在我们终于可以开始使用它了. Android-Universal-Image-Loader有四个 ...
- 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50824912 相关地址介绍 : -- Universal I ...
- android universal image loader 缓冲原理详解
1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL ...
随机推荐
- Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单
原文:Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43131133, ...
- C#调用C++DLL传递结构体数组的终极解决方案
在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了.但是当传递的是结构体.结构体数组或者结构体指针的时候,就会发现C#上没有类型 ...
- MongoDB C driver API continues
开篇前 <1,mongoc_init() func> mongoc_init() Synopsis void mongoc_init (void); Description This fu ...
- 无限的路_hdu_2073(AC).java
无限的路 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 安装android studio时,解决unable to access android sdk add-on list
1.打开时提示如下错误. 2.在安装路径下找到idea.properties文件,用记事本打开,添加disable.android.first.run=true,保存即可. 3.再次打开Android ...
- repeater 一个td多个div显示图片
<table class="table table-bordered table-responsive"> <tbody> <asp:Repeater ...
- aps.net js获取服务器控件
document.getElementById("<%= tx_ownerId.ClientID %>").value;
- Ubuntu kylin 有可能成为未来中国的主流系统吗?
编前语: 无意间开始研究起linux,因为目前互联网很多人,包括我都隐约感觉到,windows系统在中国乃至世界在今后的流行度会逐步降低,不为什么,其中最主要的是安全问题,Microsoft 微软公司 ...
- Oracle存储过程的一点使用总结
[博客文章背景]博客开通已经1.2年了,一直碍于技术能力,不敢献丑.想起1年前在一个数据处理相关项目结束后,代金排主管让我做一个数据库开发总结文档和一个Toad.PL/SQL Developer工具的 ...
- mongodb高可用集群搭建
集群构架图如下: 集群大致文件结构:(192.168.137.101节点) 先搭建3个副本集 rs1/mongod.conf rs1/start.sh rs2/mongod.conf 后面类似.... ...