周五的时候有个朋友让我写一个关于图片延时加载的教程,
直到今天才有空编辑,这阶段真的是很忙,公众号都变成僵尸号了。
实在是对不起大家。
有人喜欢我的教程,可能我总习惯了用比较简单容易理解的方式去描述这些东西。
别的就不多说了,大家遇到什么问题。
可以直接联系我,不是一句话两句话能讲清楚的问题,我都会抽空写一个教程的。
现在还欠着一个问题没回复:按需加载所有的文件。之前教程里面只写了按需加载controller文件。
这个现在有一个方案,我们公司自己的产品正在使用,正在开发中。效果和性能要等个一两周的测试之后才能知道。
要是方案测试通过了,我就把方案分享给大家。
接着进入今天的主题。
图片延时加载,为什么要延时加载图片呢?
大家都都知道在较长的列表页绘制时会使得应用程序变得卡顿。不仅在界面之内的图片需要绘制,在页面之外的图片也要绘制,如果一次请求的图片数量较少,看不出有什么性能问题,但是当图片较多且较大时,达到一定的量级,那么就会影响程序的性能了。使用延时加载图片,当你滚动到相应的子项时,该子项的图片才开始加载。这样子实现,当前可视区域的图片显示正常,而可视区域之外的图片却不加载,在一定程度上能够加快页面的绘制,对于ionic的应用长列表页应该算是一个比较常见的部件了。所以在ionic项目中使用图片延时加载技术是一个不错的选择。
根据需求分析,我们能够理解,首先延时加载图片就是一开始不加载,而在滚动容器之后,按条件开始加载图片,条件就是该图片在可视区域内。
所以首先我们要给图片所在容器绑定一个滚动事件,当视图滚动时抛出加载图片的事件