android universal-image-loader的使用
- 全局配置 android-image-loader的使用
- public class Application extends Application {
- @Override
- public void onCreate() {
- super.onCreate();
- initImageLoader(getApplicationContext());
- }
- public static void initImageLoader(Context context) {
- //缓存文件的目录
- File cacheDir = StorageUtils.getOwnCacheDirectory(context, "universalimageloader/Cache");
- ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
- .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
- .threadPoolSize(3) //线程池内线程的数量
- .threadPriority(Thread.NORM_PRIORITY - 2)
- .denyCacheImageMultipleSizesInMemory()
- .diskCacheFileNameGenerator(new Md5FileNameGenerator()) //将保存的时候的URI名称用MD5 加密
- .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))
- .memoryCacheSize(2 * 1024 * 1024) // 内存缓存的最大值
- .diskCacheSize(50 * 1024 * 1024) // SD卡缓存的最大值
- .tasksProcessingOrder(QueueProcessingType.LIFO)
- // 由原先的discCache -> diskCache
- .diskCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径
- .imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
- .writeDebugLogs() // Remove for release app
- .build();
- //全局初始化此配置
- ImageLoader.getInstance().init(config);
- }
- }
主要类文件
- public class MainActivity extends Activity {
- private ImageLoader imageLoader;
- private ListView lv;
- private String[] imageUrls;
- private DisplayImageOptions options;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- imageLoader = ImageLoader.getInstance();
- lv = (ListView)findViewById(R.id.list);
- imageUrls = Constants.images;
- // 使用DisplayImageOptions.Builder()创建DisplayImageOptions
- options = new DisplayImageOptions.Builder()
- .showImageOnLoading(R.drawable.ic_stub) // 设置图片下载期间显示的图片
- .showImageForEmptyUri(R.drawable.ic_empty) // 设置图片Uri为空或是错误的时候显示的图片
- .showImageOnFail(R.drawable.ic_error) // 设置图片加载或解码过程中发生错误显示的图片
- .cacheInMemory(true) // 设置下载的图片是否缓存在内存中
- .cacheOnDisk(true) // 设置下载的图片是否缓存在SD卡中
- .displayer(new RoundedBitmapDisplayer(20)) // 设置成圆角图片
- .build(); // 构建完成
- lv.setAdapter(new ItemListAdapter());
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.item_clear_memory_cache:
- ImageLoader.getInstance().clearMemoryCache();
- return true;
- case R.id.item_clear_disc_cache:
- ImageLoader.getInstance().clearDiskCache();
- return true;
- default:
- return false;
- }
- }
- class ItemListAdapter extends BaseAdapter {
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return imageUrls.length;
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return imageUrls[position];
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- // TODO Auto-generated method stub
- ViewHolder holder = null;
- if (convertView == null) {
- convertView = getLayoutInflater().inflate(R.layout.item_list, parent, false);
- holder = new ViewHolder();
- holder.text = (TextView) convertView.findViewById(R.id.text);
- holder.image = (ImageView) convertView.findViewById(R.id.image);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
- holder.text.setText("Item " + (position + 1));
- imageLoader.displayImage(imageUrls[position], holder.image, options);
- return convertView;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- class ViewHolder {
- public ImageView image;
- public TextView text;
- }
- }
- }
转载于:https://www.cnblogs.com/zhou2016/p/5600941.html
android universal-image-loader的使用相关推荐
- android universal image loader 缓冲原理详解
1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL ...
- 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50824912 相关地址介绍 : -- Universal I ...
- (universal Image Loader)UIL 使用 (2)
系列(universal Image Loader)UIL 使用 (1) UIL 使用 3 简单介绍了UIL的最基本的使用方法,这次继续老学习UIL的使用 这次只是分析学习一个方法 <spa ...
- (universal Image Loader)UIL 使用 (1)
UIL Github 网址 系类文章:(universal Image Loader)UIL使用(2),UIL使用3 universal image loader 的功能就是加载图片 在as 中 ap ...
- Android SDK content Loader has encountered a problem.parseSdkContent failed
打开Eclipse,弹出Android SDK content Loader has encountered a problem.parseSdkContent failed,当点击detail按钮, ...
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法 参考文章: (1)universal image loader在listview/ ...
- eclipse一直卡住,出现 “android sdk content loader 0%” 卡住的错误分析及解决方法...
分析:这种问题之前没有遇到过,也不知道什么原因,直接去网上查询,打开www.stackoverflow.com,输入要查询问题的关键词,我们输入 "android sdk content l ...
- 右下角android sdk content loader 加载很慢的解决方法
eclipse 每次启动会出现这样的情况 右下角的Android SDK Content Loader:一直是 0%不变 一直卡. 这样导致无法正常开发 很烦人的 1 方法一:删掉 .android目 ...
- 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
在之前的文章,我们重点讲了Android-Universal-Image-Loader的三个主要组件,现在我们终于可以开始使用它了. Android-Universal-Image-Loader有四个 ...
- Android --- 漂亮的 Loader 加载动画
效果图: Usage Step 1Add dependencies in build.gradle.dependencies{ compile'com.wang.avi:library:2.1.3'} ...
最新文章
- 山东科技大学计算机控制系统期末考试试卷,山东科技大学_计算机操作系统试题A...
- matlab pdist2函数官方详解
- AtomicInteger
- 文件描述符fd是什么?
- java代码数据库添加操作_java连接数据库后进行更新插入操作
- 并发insert情况下会发生重复的数据插入问题
- reids源码 t_hash.c 实现
- Update function module call in SM13
- 追寻终极数据库 - 事务/分析混合处理系统的交付挑战 (3)
- STMF4x 固件库V1.25.0
- 计算机研究所专业课,【择校必看】十三所计算机专业课只考数据结构的985院校!...
- 在线修改域控的IP和机器名
- codeforces round #257 div2 C、D
- wxPython练习
- ANIMATION经典小车动画
- java web start 参数_学习笔记(二)Eclipse设置 Servlet配置及初始化参数读取 及Servlet应用...
- 如何速成java_极*Java速成教程 - (2)
- 查找算法之二分查找算法
- 企业微信开发服务端报错汇总(手把手教你企业微信开发五)
- wireshark数据包分析实战 读书笔记
热门文章
- 目前电子计算机已经发展到______阶段,《全国高校计算机联合考试广西考区一级笔试试题卷.doc...
- Java rp api_Java初级--常用的API
- 【MySQL】错误#1217:外键约束引起的错误
- Win10上rabbitmq 安装
- 【sprinb-boot】thymeleaf设置缓存
- npm ERR! code ELIFECYCLE解决方案
- java 快速查找 list_面试官:小伙子,你连Java集合都讲不清楚,怎么就敢开口要8K呀?...
- Linux环境下搭建FTP服务器
- java类描述_java笔记2:Java语言中的类和对象的描述
- 布尔类型的值包括( )和( )_布尔类型