本申请涉及应用软件,尤其涉及一种基于flutter应用的图片加载方法、装置和设备。
背景技术:
1、flutter是一种构建用户界面(user interface,ui)工具包,帮助开发者通过一套代码高效的构建多个平台的应用。基于flutter框架平台,一套代码可以实现在两种不同应用操作系统上的使用,大大提高了研发效率。
2、现有技术中,基于flutter构建的应用,在用户通过应用显示界面查看图片列表上的图片时,应用会预先加载大量图片至图片列表。
3、但是,现有的这种图片加载方式,由于图片列表加载了大量图片,图片列表在快速滑动的时候,页面会频繁闪烁,导致图片显示效果差。
技术实现思路
1、本申请提供一种基于flutter应用的图片加载方法、装置和设备,用于解决现有flutter应用的图片加载效果差的问题。
2、第一方面,本申请实施例提供一种基于flutter应用的图片加载方法,包括:
3、从请求队列中获取至少一个图片请求,图片列表中的待加载图片滑出应用显示界面时,所述待加载图片对应的图片请求从所述请求队列中移除,所述待加载图片重新滑入所述应用显示界面时,所述图片请求重新添加至所述图片列表;
4、基于所述图片请求,从目标对象获取所述待加载图片;
5、若所述图片请求还未从所述请求队列中移除,则将所述待加载图片加载至所述应用显示界面。
6、第二方面,本申请实施例提供一种基于flutter应用的图片加载装置,包括:
7、请求获取模块,用于从请求队列中获取至少一个图片请求,图片列表中的待加载图片滑出应用显示界面时,所述待加载图片对应的图片请求从所述请求队列中移除,所述待加载图片重新滑入所述应用显示界面时,所述图片请求重新添加至所述图片列表;
8、图片获取模块,用于基于所述图片请求,从目标对象获取所述待加载图片;
9、图片加载模块,用于若所述图片请求还未从所述请求队列中移除,则将所述待加载图片加载至所述应用显示界面。
10、第三方面,本申请实施例提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上所述的方法。
11、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述方法。
12、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法。
13、本申请实施例提供的基于flutter应用的图片加载方法、装置和设备,通过在图片列表快速滑动的过程中,检测这张图片的滑动是否超出当前显示界面,如果超出当前显示界面,则取消这张图片的图片请求,将其从请求队列中移除,当该图片再次屏幕滑动回来时,再添加进请求队列中。这样优先保证了当前显示界面的图片加载速度,优化图片加载效果。
1.一种基于flutter应用的图片加载方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述待加载图片加载至所述应用显示界面,包括:
3.根据权利要求2所述的方法,其特征在于,所述待加载图片包括小缩略图、大缩略图、视频缩略图和原图;所述获取其它加载类型的所述待加载图片并重新进行加载,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标对象为内存缓存、磁盘缓存、远程服务器中的任意一项。
5.根据权利要求4所述的方法,其特征在于,所述获取所述待加载图片,包括:
6.根据权利要求5所述的方法,其特征在于,所述获取所述待加载图片之后,还包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括
8.根据权利要求5所述的方法,其特征在于,所述从所述远程服务器获取所述待加载图片之后,还包括:
9.根据权利要求8所述的方法,其特征在于,所述以所述加密名称作为文件名,将所述待加载图片存储至所述目标路径下之前,还包括:
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
11.一种基于flutter应用的图片加载装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至10中任一项所述方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。