当前主要的开源图片加载引擎
来源:互联网 发布:mac怎么选中多个文件 编辑:程序博客网 时间:2024/06/05 03:30
注2:首次启动认为不含有在内存或Disk上的缓存。非首次启动为后台杀掉进程后,重新启动。
注3:WIFI Android4.4.2 3G内存 高通骁龙801 2.5GHz四核。首次启动Fresco的体验最佳,第一屏刷新的最快。在已经有本地缓存的情况下,UIL体验最佳。在全部载入到内存的情况下,Picasso的表现最好。
上面是我实测的现在主要的开源引擎性能表现。下面就来具体看一看他们。部分内容有转载:)
UIL --- Android-Universal-Image-Loader
https://github.com/nostra13/Android-Universal-Image-Loader
特点:
- 多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等
- 支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置
- 支持图片的内存缓存,文件系统缓存或者SD卡缓存
- 支持图片下载过程的监听
- 根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存
- 较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片,一般使用在ListView,GridView中,滑动过程中暂停加载图片,停止滑动的时候去加载图片
- 提供在较慢的网络下对图片进行加载
初始化
- public class MyApplication extends Application {
- @Override
- public void onCreate() {
- super.onCreate();
- //创建默认的ImageLoader配置参数
- ImageLoaderConfiguration configuration = ImageLoaderConfiguration
- .createDefault(this);
- //Initialize ImageLoader with configuration.
- ImageLoader.getInstance().init(configuration);
- }
- }
可配置项
- ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
- .memoryCacheExtraOptions(480, 800) // default = device screen dimensions
- .diskCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null)
- .taskExecutor(...)
- .taskExecutorForCachedImages(...)
- .threadPoolSize(3) // default
- .threadPriority(Thread.NORM_PRIORITY - 1) // default
- .tasksProcessingOrder(QueueProcessingType.FIFO) // default
- .denyCacheImageMultipleSizesInMemory()
- .memoryCache(new LruMemoryCache(2 * 1024 * 1024))
- .memoryCacheSize(2 * 1024 * 1024)
- .memoryCacheSizePercentage(13) // default
- .diskCache(new UnlimitedDiscCache(cacheDir)) // default
- .diskCacheSize(50 * 1024 * 1024)
- .diskCacheFileCount(100)
- .diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default
- .imageDownloader(new BaseImageDownloader(context)) // default
- .imageDecoder(new BaseImageDecoder()) // default
- .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
- .writeDebugLogs()
- .build();
- final ImageView mImageView = (ImageView) findViewById(R.id.image);
- String imageUrl = "https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg";
- ImageSize mImageSize = new ImageSize(100, 100);
- //显示图片的配置
- DisplayImageOptions options = new DisplayImageOptions.Builder()
- .cacheInMemory(true)
- .cacheOnDisk(true)
- .bitmapConfig(Bitmap.Config.RGB_565)
- .build();
- ImageLoader.getInstance().loadImage(imageUrl, mImageSize, options, new SimpleImageLoadingListener(){
- @Override
- public void onLoadingComplete(String imageUri, View view,
- Bitmap loadedImage) {
- super.onLoadingComplete(imageUri, view, loadedImage);
- mImageView.setImageBitmap(loadedImage);
- }
- });
0 0
- 当前主要的开源图片加载引擎
- 当前主要的开源图片加载引擎2
- 当前主要的开源图片加载引擎3
- 当前主要的开源图片加载引擎4
- 实时加载页面的内容loading(主要针对图片)
- mysql主要的存储引擎
- 当前主流开源游戏引擎简介
- lanyload加载当前屏幕图片
- 动态加载当前屏幕的网页图片(网页拖动时图片加载显示)
- 动态加载当前屏幕的网页图片(网页拖动时图片加载显示)
- ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- 衡量引擎的主要指标和参数
- 衡量引擎的主要指标和参数
- ListView滚动时加载图片(只加载当前屏幕图片)
- 当前网络测试的主要方法
- 检测图片的主要颜色
- 【OpenSource】【图片加载】Google 推荐的图片加载开源框架 Glide
- 游戏引擎AndEngine总结(九):三种加载图片资源的方法
- 结构体
- 【OpenStack】Nova中的rebuild和evacuate(HA)
- CPU Utilization, CPU Load Average, Context Switch Rate
- 预习报告3
- 设计模式8——组合模式
- 当前主要的开源图片加载引擎
- openfire 3.9.3 集群配置(Linux)(Mysql远程连接)
- struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表
- WebView一
- MFC ListControl 删除选定的多行
- iOS对象属性详解
- top命令的Load average 含义及性能参考基值
- Mac Adobe CS6 完美破解激活(免替换文件/可更新)详细图文教程
- 正则表达式(RegexKitLite)