关于fresco加载图片的缓存设置及列表加载等
2016-12-28 本文已影响3715人
fuuuuuccccck
如果你的应用不需要显示Gif,或者显示的Gif由内部员工添加(可把控)的,可以用Glide!
如果你的应用不需要显示Gif,或者显示的Gif由内部员工添加(可把控)的,可以用Glide!
如果你的应用不需要显示Gif,或者显示的Gif由内部员工添加(可把控)的,可以用Glide!
之前写过一篇文章,是关于Glide的一些坑,Glide加载gif及本地视频缩略图的坑 ,因为我们公司的应用是涉及到发帖子的功能,这里用户是可以上传gif的,而某些文件本身就有一些问题的gif,用Glide加载不出来,上面的文章末尾说过了,所以采用了Fresco,用了Fresco,才发现坑更大啊,一点一点说吧。
首先要用到他们自己的View那些我就不重复了,功能确实强大,后面讲一些可配置可不配置但是配置了会更爽的内容
1,设置缓存大小等,可以参考这个Fresco缓存设置 ,设置了之后,再不会出现已经加载过的图片,被自动清理了
2,列表加载图片,一定要setResizeOptions和setOldController,如下图
图中的width和height不一定要很准确,比如你是Grid,但是又有间隙,那width你设置成 screenWidth/spanCount的大小就好了,滑动起来跟Glide差不多了
3,photoView,fresco貌似不能直接用photoView,没关系,有这个PhotoDraweeView 使用起来跟photoView差不多
4,长图加载,我用的是BigImageViewer 里面包含了放大缩小的功能了
有人会问,怎么判断是不是长图呢,我现在是没有判断,而是根据是否动态图(gif结尾)来加载,动态图用photoView,静态图用BigImageViewer
最后,用Fresco,我加载相册还是照样卡,跟Glide完全不能比,设置了setAutoPlayAnimations(false),.setBitmapsConfig(Bitmap.Config.RGB_565)都还是很卡,用的FrescoImageLoader.java 的也是很卡,不知道有人解决了吗