ImageLoader和Picasso
2016-07-06 18:23
375 查看
下载资源jar
https://github.com/nostra13/Android-Universal-Image-Loader将jar导入libs
必须加入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/>
public class MyAppilication extends Application{ @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this) .memoryCacheExtraOptions(480, 800) //max width ,max height ,即保存的每个缓存文件的最大长度 .discCacheExtraOptions(480, 800, null) // Can slow ImageLoader use it carefully(Better don't use it // 设置缓存的详细信息,最好不要设置这个 .threadPoolSize(3) // 线程池内加载的数量 .threadPriority(Thread.NORM_PRIORITY-2) .denyCacheImageMultipleSizesInMemory() .memoryCache(new UsingFreqLimitedMemoryCache(2*1024*1024)) // You can pass your own memory cache // implementation 你可以通过自己的内存缓存实现 .memoryCacheSize(2*1024*1024) .discCacheSize(50*1024*1024) .discCacheFileNameGenerator(new Md5FileNameGenerator()) // 将保存的时候的url名称用MD5加密 .tasksProcessingOrder(QueueProcessingType.LIFO) .discCacheFileCount(100) //缓存文件的数量 .discCache(new UnlimitedDiskCache(new File(Environment.getExternalStorageDirectory()+"myApp/imgCache") )) //自定义缓存路径 .defaultDisplayImageOptions(getDisplayOptions()) .imageDownloader( new BaseImageDownloader(this, 5*1000, 30*1000)) // 5*1000 连接时间 // 30*1000 加载超时时间 .writeDebugLogs()// Remove for release app .build(); ImageLoader.getInstance().init(config); } private DisplayImageOptions getDisplayOptions(){ DisplayImageOptions options; options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_launcher)//设置图片在下载期间显示的图片 .showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或者错误的时候显示的图片 .showImageOnFail(R.drawable.ic_launcher)//设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .cacheOnDisc(true)//设置下载的图片是否缓存在SD卡中 .considerExifParams(true)//是否考虑JPEG图像EXIF参数(旋转,翻转) .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片一如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型 // .delayBeforeLoading(int delayInMillis) // delayInMillis为你设置的下载前的延迟时间 //设置图片加入缓存前,对bitmap进行设置 //.preProcessor(BitmapProcessor preProcessor) .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位 .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少 .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画的时间 .build();// 构建完成 return options; } }
MainActivity
public class MainActivity extends Activity { private ImageLoader loader; private ImageView mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); loader = ImageLoader.getInstance(); loader.init(ImageLoaderConfiguration.createDefault(MainActivity.this)); mImageView = (ImageView) findViewById(R.id.imageview); // loader.displayImage("http://www.baidu.com/img/bd_logo1.png", mImageView); loader.displayImage("http://www.baidu.com/img/bd_logo1.png", mImageView, new ImageLoadingListener() { @Override public void onLoadingStarted(String arg0, View arg1) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onLoadingStarted", Toast.LENGTH_SHORT).show(); } @Override public void onLoadingFailed(String arg0, View arg1, FailReason arg2) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onLoadingFailed", Toast.LENGTH_SHORT).show(); } @Override public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onLoadingComplete", Toast.LENGTH_SHORT).show(); } @Override public void onLoadingCancelled(String arg0, View arg1) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onLoadingCancelled", Toast.LENGTH_SHORT).show(); } }); } }
Picasso
http://blog.csdn.net/theone10211024/article/details/45604373相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories