00:00
好,今天呢,大海哥带大家学习一下三硅谷安卓企业级技术啊图片加载框架,这个fresh卡,这个fresh卡呀,是这个Facebook推出的一款这个图片加载框架啊,这个功能呢是非常非常强大的,那么接下来呢,我们看一下啊,这个Facebook这框架有哪些特点啊,这里面呢,列出一共五大特点啊,分别给大家介绍一下啊首先呢是这个内存管理啊,在这个5.0系统以下这个福卡将图片放到一个这个特别的内存区域啊,然而在这个图片不显示的时候啊,占用的内存会自动被释放啊,只要你不显示,它就自动回收了,这样呢当然会使这个APP啊更加流畅啊,减少这个因图片内存而啊占用而导致的这个OM啊,可想而知,只要你的图片不显示,它就自动回收啊,相当相当猛啊,这个功能啊,接下来它这个内存分配啊,采用的是这个系统啊,匿名共享内存啊,这个名称大家记一。
01:00
架啊,匿名共享内存跟这个普通的这个加载框架啊不一样啊,普通的这个图片加载框架都是用这个Java内存啊,Java代码啊好,第二个特点呢,它是可以使用这个渐进式啊呈现图片啊,什么叫渐进式呢?这个渐进式图片格式啊,先呈现大致的这个图片这个轮廓啊,然后呢,随着这个图片下载再继续啊,逐渐的去呈现这个清晰的这张图片啊,这对于这个移动设备啊,尤其是这个啊网络比较慢的时候啊,是非常非常有用的啊,体现这个用户啊体验非常非常好。那第三条支持加载这个gift图啊,这gift图现在这个好多应用中啊,用的非常多啊,同时呢,还支持这个webp格式啊webp格式。好,第四个图像的这个呈现啊,在图片的图片的这个成像上啊,它一共呢,有这么五条特点,分别是自定义这个居中焦点啊,这有什么作用呢?对这个人脸啊等这个图片显示非常有帮助啊啊第二个呢是这个圆角图啊,还有这个圆环啊都行啊,都可以去做啊,第三个呢,是下载失败后,可以这个点击重新下载啊。
02:23
第四个呢,是这个自定义这个站位图啊,自定义的这个over类或者这个进度条啊,都可以去自定义,第五个呢,是指定用户按压时的这个over类啊,也是一个视频好啊,第五个呢,就是这个图像的加载啊,图像加载有什么特点呢?一共有这么六大特点,那么分别是第一个为同一个图片指定不同的这个远程路径啊,或者使用已经存在的这个本地缓存中的图片啊,也就是说你在这个请求网络的时候啊,可以从本地啊去拿这张图片,如果本地有缓存里有,那我就直接从本地缓存中将这图片拿出来了啊,就不会再去请求这个远程服务器了。
03:07
啊,这样呢,是是不是,呃很嗯,很快的把这个图片就加载回来了啊,就是这个第二个呢,是可以这个先显示一个低清晰度的这个图片,等高清晰的这个图片下载完后,我再显示这个高清晰的啊,这个是非常强大的啊,第三个呢,是先加载完成啊回调通知,也就是你在这个加载过程啊,或者是完成等等这一系列加载状态,但它都可以对你进行监听啊,那第四个对于本地图片啊,如果有这个数列图,在大图加载完成之前,可以先显示这个数列图啊,先显示一个小的数列图啊,等我完大图加载完毕之后,我再显示大的。啊,这是这个过程,第五个呢,是缩放或者旋转的图片啊,第六个处理已下载的图片,可以对已下载完成这个图片啊,进行进一步的下载封装好,那接下来呢,我们看一下啊,这个卡它这个官方的地址啊,这个就是在这个GI up上存的这个源码地址给大家看一下。
04:23
啊,这个呢,其实就是这个啊,弗卡官方的这个提供的源码啊,源码地址,有兴趣同学呢,可以看一下,那它这里呢,啊,其实呢,你就关联这句话啊,就可以使用这个弗卡啊,非常非常简单。好。接下来我们看一下,同时呢,它官方又给我们提供了一个这个使用F这个文档啊,这个微档文档非常非常强大啊,也就是哪个呢,其实也就是啊,这个你可以放在这里面。啊,就是这个官方给你提供了一个API啊,说明这里面包括了如何使用这个菲卡啊,开始使用怎么如何去配置啊,包括一些概念呐,UI呀,啊,尤其是这些啊。
05:11
啊,怎么使用都给你写的非常非常清楚,包括代码啊,一会儿呢,我们也会带大家啊去看着这个文档去写。好,这是这个我已经标红了,接下来下面这个卡呀啊,它可以支持啊,这些图片的来源就是你图片来源于这些地方啊,它都可以去加载,包括这个远程图片本地的文件,还有这个内容填空者啊,Access资源目录下的啊,Res目录下的和URA目录下的啊,它都能进行加载。呃,第五个他给我们提供了一些啊常用的API啊,常用的API可以进行设置,这里后面呢啊,都有相应的详细的注释啊,这里面呢,我就不带大家啊一一去写了,有兴趣的同学自己看一看。
06:00
好。下面呢,这个是啊,这个这个使用步骤,使用步骤。包括第一步是添加一个依赖啊,这里面的依赖啊,啊有好多种啊好多种,如果你是仅加载这个静态图,你只加载这一个啊依赖就OK了,那么你既想加载静态图,又想加载动态图,那么你就要把这两个啊添加进来,如果你想加载这个GI的图啊,后面我会有例子,那你就必须把这个依赖添加进来啊,后面这个呢,是这个在API啊小A14的机器上啊,运行这个YP文件的时候需要添加啊这个啊。等等,看你不同的应用场景就添加不同的依赖啊,你添加的依赖越多,那么对你这个APK这个大啊,大小上就会有影响,就会增加你这个application大小,对吧?好啊,添加完一赖之后呢,你需要在这个application中啊,初始化一下这个卡就一行代码,就是F点啊,传一个三角文就OK了。
07:02
接下来呢,是配置这个网络权限啊,你必须得有这个联网的这个功能啊,能联网好,接下来呢,就是在这个布局文件中加入这个命名空间啊,加入这两行。一个是这个主题AK啊,Res安卓,一个是这个frees卡,后面是res auto two啊自动获取参数,那这两个呢,其实啊,你可以通过这个快捷键啊,可以自动生成啊,一会儿写在写项目的时候带着大家学习一下,接下接下来就是在这个叉ML中引入这个simple啊,Simple啊这个呢是入门每个项目中啊几乎都要用到的啊,就这一个控件。啊,报名必须是这个全路径啊,全路名里面呢,这是这个啊,这个是站位啊,站位的一张图片,就是说默认先示的一张图片,等你加载完之后啊,只能再把它覆盖啊这个意思,它这个宽高啊,必须有值,宽高必须有值,不能用这个web content啊,不能用包裹内容啊后面呢,会有这个注意事项,上面会写着了啊,一定不能用这个web content固定大小好。
08:15
在这个Java代码中啊,就可以开始加载图片了,加载图片呢,也非常非常简单啊。这呢是这张图片的这个啊,网络中图片的URL啊,你通过这个uri转换一下,获取你图片的URL,然后呢,就是要获取你这个布局文件中这个view对象对吧?啊拿到这个啊,Draw will will,拿到它,拿到它之后直接set image URL u就可以了啊,就能显示图片啊就这么三步,其实非常简单啊,其实这个呢是必须的吧,获取对象这个呢,是网络这个图片的地址,你肯定得有吧啊接下来就是直接晒的啊,搞定。好,那这里面呢,要注意啊,有个注意事项啊,什么注意项,注意事项呢?就是如果你在这个项目中啊,使用了这个okp啊,那么你就需要按照这两步去修改,认为啊它底层也包装了这个OOKDP啊一些类,那么如果你也占用它啊,直接去包装,那么就会有这个价包冲突啊,那怎么解决呢?如果你那个用的是KTP2,那么你就将KHTTP里面的啊那个导入的OKDP加包换成这个依赖啊就OK了,如果你原来导入的是o ktp3,那么你就需要在OKDP3的依赖里啊添加这一句话,将原来那个OADP啊注释掉。
09:42
详详细情况呢,一会儿我会带大家演示一下啊,因为我们原来这个项目也有这个OA。好,今天呢,给大家设计了啊,一共有啊这个去掉这个准备之后,还有十个例子啊,十个例子,例子还是非常非常多的啊,但是呢,我啊不会带着家带着大家一行一行写啊,可能会把这个代码粘过来之后啊,让大家啊带大家理解一下啊,因为实在太多了啊,也没有必要去一个一个去记它啊,等你需要的时候去查看一下代码就OK了。
10:17
好,下面呢,这个是使用这个卡一些注意事项啊,包括这个重复的边界啊,图片没有加载呀啊等等好多好多功能啊。呃,如果详细使用这个free的时候,一定要仔细的阅读一下,包括啊,比如说这个不要使用这个super view啊等等,好,下面呢,这个这两个一个是这个博客啊,一个是这个guitar,这个是我参考的啊,这个博主的这个写写的代码啊,非常感谢啊。好,这就是我们今天要讲的内容。
我来说两句