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'} ...
最新文章
- PHP只下载不打开文件
- pyspark启动时卡住了
- JVM调优总结(2):基本垃圾回收算法
- POJ-3590 The shuffle Problem 置换+DP | DFS
- andriod开发中的几个基本概念及关系SDK ADT Platform API
- SQLServer格式化时间
- 中国移动宣布已开通5G基站近5万个,在50个城市提供5G服务
- eclipse中添加aptana插件(html.css.js自动提示)
- 基于设备树的TQ2440的中断(2)
- 【解决】该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)
- 奇迹mu在服务器运行,奇迹mu 服务端的常用端口及功能
- Crontab 每隔整点1小时2小时执行一次任务
- C语言初阶小练习(1)
- 【Linux】虚拟机VMware的Ubuntu使用vi指令的方向键和backspace空格键乱码
- 单周期MIPS CPU设计
- 乌镇互联网大会上世界大佬点赞中国创新,山寨帽子终于摘下?
- 什么是空热量的食物?“空热量”的谬论
- 计算机的过去和现在作文英语怎么说,自己过去和现在英语作文带翻译
- 使用qemu在windows系统下搭建树莓派3b环境运行RT-Thread
- cfa一级需要计算机吗,CFA一级考试计算机怎么使用?
热门文章
- 英雄联盟更新后服务器还在维护吗,英雄联盟今天维护到什么时候结束 11月12日停机更新维护公告...
- FutureTask使用
- 模拟进程创建、终止、阻塞、唤醒原语_操作系统基础8-进程及进程控制
- fft 相位谱_FFT和示波器实用指南——深圳零式未来仪器科技
- Git 删除远程仓库文件
- 程序员毕业的10年里
- php 编程风格,PHP程序员的自我修炼:PHP编程风格_PHP教程
- 学文科的优势_男生学文科有优势吗?
- 机器学习实战-聚类分析KMEANS算法-25
- 机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting