一种图片加载系统、方法、终端及计算机可读存储介质与流程
未命名
10-19
阅读:113
评论:0
1.本技术涉及人工智能技术领域,特别是涉及一种图片加载系统、方法、终端及计算机可读存储介质。
背景技术:
2.在当前的5g时代,通过手机实时展示图像时需要对网络图片进行加载。而android系统原生并未提供便捷的网络图片加载的功能。因此出现了几种常用的图片加载框架来解决android系统原生的图片加载问题,如imageloader,fresco,picasso,glide。
3.glide作为最常用的android图片加载框架,受到了广泛应用。然而glide官方并没有提供图片解密的功能。对于视频安防类公司而言,图片经常涉及用户隐私,因此返回给android系统的图片往往是经过安防加密的,并且不会以常规图片的格式返回,例如以dav文件格式返回。
技术实现要素:
4.本发明主要解决的技术问题是提供一种图片加载系统、方法、终端及计算机可读存储介质,解决现有技术中glide加载框架不能对加密图片进行解密展示的问题。
5.为解决上述技术问题,本发明采用的第一个技术方案是:提供一种图片加载系统,图片加载系统适用于android平台,图片加载系统包括依次级联的信息收发模块、分析模块、解密模块以及显示模块,
6.信息收发模块,用于基于待加载图片的网络地址确定待加载图片的数据流;
7.分析模块,用于对数据流进行解析,确定数据流是否需要解密;
8.解密模块,用于响应于数据流需要解密,则通过预设解密方式对数据流进行解密处理得到解密数据流;
9.显示模块,用于基于解密数据流对待加载图片进行加载。
10.其中,信息收发模块,还用于通过预设请求方式向服务器发送图片加载请求,图片加载请求包括待加载图片的网络地址;并用于接收服务器根据待加载图片的网络地址返回的数据流;其中,预设请求方式包括okhttp请求方式。
11.其中,图片加载系统还包括:
12.监听模块,用于显示数据流的下载进度。
13.其中,预设请求方式和/或预设解密方式通过dsl语法写入系统。
14.其中,图片加载系统还包括:
15.缓存管理模块,用于将待加载图片的网络地址以及对应加载显示的图像进行关联并进行存储。
16.其中,图片加载系统还包括:
17.检测模块,用于在信息收发模块向服务器发送图片加载请求之前,检测缓存管理模块中是否已经对待加载图片的网络地址进行缓存。
18.为解决上述技术问题,本发明采用的第二个技术方案是:提供一种图片加载方法,图片加载方法包括:
19.基于待加载图片的网络地址确定待加载图片的数据流;
20.对数据流进行解析,确定数据流是否需要解密;
21.响应于数据流需要解密,则对数据流进行解密处理得到解密数据流;
22.基于解密数据流对待加载图片进行加载。
23.其中,基于待加载图片的网络地址确定待加载图片的数据流,包括:
24.采用预设请求方式向服务器发送图片加载请求,图片加载请求包括待加载图片的网络地址,预设请求方式包括okhttp请求方式;
25.接收服务器根据待加载图片的网络地址返回的数据流。
26.其中,对数据流进行解析,确定数据流是否需要解密,包括:
27.对数据流进行解析,得到数据流的预设位置对应的解析字段;
28.将解析字段与预设字段进行比对,确定数据流是否需要进行解密。
29.为解决上述技术问题,本发明采用的第三个技术方案是:提供一种终端,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述的图片加载方法。
30.为解决上述技术问题,本发明采用的第四个技术方案是:提供一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时以实现上述的图片加载方法。
31.本发明的有益效果是:区别于现有技术的情况,提供的一种图片加载系统、方法、终端及计算机可读存储介质,一种图片加载系统,图片加载系统适用于android平台,图片加载系统包括依次级联的信息收发模块、分析模块、解密模块以及显示模块,信息收发模块,用于基于待加载图片的网络地址确定待加载图片的数据流;分析模块,用于对数据流进行解析,确定数据流是否需要解密;解密模块,用于响应于数据流需要解密,则通过预设解密方式对数据流进行解密处理得到解密数据流;显示模块,用于基于解密数据流对待加载图片进行加载。本技术提供的图片加载系统,通过信息收发模块获取待加载图片的数据流,并对数据流进行解密操作,在实现了图片加载框架的解密功能同时,又能减少文件解码方式的多次读写耗损,节省图片解码耗时和内存资源消耗。
附图说明
32.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本技术的实施例,并与说明书一起用于说明本技术的技术方案。
33.图1是本技术提供的图片加载系统一实施例的框架结构示意图;
34.图2是本技术提供的图片加载系统一具体实施例的框架结构示意图;
35.图3是本技术提供的图片加载方法一实施例的流程示意图;
36.图4是本技术提供的图片加载方法一具体实施例的时序示意图;
37.图5是本技术提供的图片加载方法一具体实施例的流程示意图;
38.图6是本发明提供的终端一实施例的框架示意图;
39.图7为本发明提供的计算机可读存储介质一实施例的框架示意图。
具体实施方式
40.下面结合说明书附图,对本技术实施例的方案进行详细说明。
41.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
42.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
43.请参阅图1,图1是本技术提供的图片加载系统一实施例的框架结构示意图。
44.本技术提供的一种图片加载系统100,图片加载系统100适用于android平台。图片加载系统100可以安装于具有android平台的移动终端、计算机终端或者类似的运算装置。
45.在本实施例中,图片加载系统100为自定义的glide模块。图片加载系统100可以对待加载图片进行解密并展示。
46.图片加载系统100包括依次级联的信息收发模块10、分析模块20、解密模块30以及显示模块40。
47.信息收发模块10用于基于待加载图片的网络地址确定待加载图片的数据流;分析模块20用于对数据流进行解析,确定数据流是否需要解密;解密模块30用于响应于数据流需要解密,则通过预设解密方式对数据流进行解密处理得到解密数据流;显示模块40用于基于解密数据流对待加载图片进行加载。
48.在一实施例中,信息收发模块10还用于通过预设请求方式向服务器发送图片加载请求,图片加载请求包括待加载图片的网络地址;并用于接收服务器根据待加载图片的网络地址返回的数据流;其中,预设请求方式包括okhttp请求方式。
49.请参阅图2,图2是本技术提供的图片加载系统100一具体实施例的框架结构示意图。
50.在一实施例中,为了解待加载图片的加载进度,图片加载系统100还包括监听模块50,监听模块50与信息收发模块10连接。监听模块50用于显示数据流的下载进度。
51.在一实施例中,为了适用于不同的需求,可以将预设请求方式和/或预设解密方式通过dsl语法写入系统。在其他实施例中,还可以将占位图以及占位图的预设宽高、预设图片变换方式、图片的预设加载类型、监听方式、预设线程池数量中的至少一个根据不同的策略通过dsl语法写入系统。
52.在一实施例中,为了提高加载速度,图片加载系统100还包括缓存管理模块60,缓存管理模块60与显示模块40连接。缓存管理模块60用于将待加载图片的网络地址以及对应加载显示的图像进行关联并进行存储,进而避免相同的待加载图片被重复解码加载。具体地,可以通过equals和hash code方法确定缓存管理模块60是否对待加载图片的网络地址进行缓存。equals是一种电脑编程语言,被用来检测两个对象是否相等,即两个对象的内容是否相等。hash code是一种编码方式,在java中,每个对象都会有一个hash code,java可以通过这个hash code来识别一个对象。
53.对于kotlin的使用,通过扩展函数的方式,直接对imageview就可以调用图片加载系统100。
54.对于java的使用,可以通过工具类调用图片加载系统100。
55.在一实施例中,为了避免相同的待加载图片被重复解码并显示,图片加载系统100还包括检测模块70,检测模块70与信息收发模块10连接。检测模块70用于在信息收发模块10向服务器发送图片加载请求之前,检测缓存管理模块60中是否已经对待加载图片的网络地址进行缓存。
56.本实施例中提供的加载图片的系可以支持任何云端图片、本地图片、资源图片的加载、预加载、下载、磁盘缓存获取、缓存清除、磁盘缓存路径获取的功能,且支持对加密图片的解密。
57.本实施例提供的一种图片加载系统,图片加载系统适用于android平台,图片加载系统包括依次级联的信息收发模块、分析模块、解密模块以及显示模块,信息收发模块,用于基于待加载图片的网络地址确定待加载图片的数据流;分析模块,用于对数据流进行解析,确定数据流是否需要解密;解密模块,用于响应于数据流需要解密,则通过预设解密方式对数据流进行解密处理得到解密数据流;显示模块,用于基于解密数据流对待加载图片进行加载。本技术提供的图片加载系统,通过信息收发模块获取待加载图片的数据流,并对数据流进行解密操作,在实现了图片加载框架的解密功能同时,又能减少文件解码方式的多次读写耗损,节省图片解码耗时和内存资源消耗。
58.本实施例中提供一种图片加载方法,图片加载方法基于上述实施例中提供的图片加载系统进行图片加载,图片加载系统适用于android平台。本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。
59.请参阅图3至图5,图3是本技术提供的图片加载方法一实施例的流程示意图;图4是本技术提供的图片加载方法一具体实施例的时序示意图;图5是本技术提供的图片加载方法一具体实施例的流程示意图。
60.本实施例提供一种图片加载方法,图片加载方法包括如下步骤。
61.s1:基于待加载图片的网络地址确定待加载图片的数据流。
62.s2:对数据流进行解析,确定数据流是否需要解密。
63.s3:响应于数据流需要解密,则对数据流进行解密处理得到解密数据流。
64.s4:基于解密数据流对待加载图片进行加载。
65.具体地,请参阅图4,预先自定义glide类模块,对自定义glide类模块进行注解标识,以便于在调用该glide类模块时可以快速识别。通过自定义glide网络地址信息,并通过上述实施例中的图片加载的系统替换原glide中的图片加载方式。其中,原glide中图片加载方式不会对待加载图片进行解密处理。通过上述实施例中的图片加载的系统创建新型的glide模型,可以实现对待加载图片的解密。
66.在一具体实施例中,根据不同的需求和策略,预先通过dsl语法将占位图以及占位图的预设宽高、预设图片变换方式、图片的预设加载类型、监听方式、预设线程池数量、预设请求方式、预设解密方式中的至少一个写入系统,以形成与需求对应的图片加载系统。本实施例中的图片加载系统即为工具包。通过调用图片加载系统可以实现对待加载图片的解密、加载显示,提升了自定义图片加载框架的可扩展性。
67.在一具体实施例中,步骤s1中基于待加载图片的网络地址确定待加载图片的数据流的步骤具体如下。
68.在一实施例中,将待加载图片的网络地址与终端数据库中存储的地址进行比对。
69.响应于待加载图片的网络地址是终端数据库中存储的地址,则将终端数据库中存储的地址对应的数据流直接输出,不需要通过服务器下载待加载图片的数据流。
70.响应于待加载图片的网络地址不是终端数据库中存储的地址,则需要向服务器请求获取待加载图片的网络地址对应的数据流。
71.在另一实施例中,采用预设请求方式向服务器发送图片加载请求,图片加载请求包括待加载图片的网络地址,预设请求方式包括但不限于okhttp请求方式。接收服务器根据待加载图片的网络地址返回的数据流。在服务器向终端设备传输待加载图片的数据流的传输过程中,对待加载图片的数据流进行加密,进而提高传输数据的安全性。
72.通过okhttp请求方式能够更便捷地基于将网络地址发送给服务器。此外,使用自定义的其他请求方式,使图片加载系统可以多样性。
73.当通过预设请求方式向服务器请求成功后,则服务器根据待加载图片的网络地址输出待加载图片的数据流。
74.当通过预设请求方式向服务器请求失败后,则直接输出加载异常,进而加载预设宽高的占位图。
75.在一实施例中,对接收待加载图片的数据流的下载进度进行监听,以便于查看进度。
76.在另一实施例中,根据预设线程池数量可以实现多条数据流的下载,进而节约时间。
77.请参阅图5,为了避免数据流丢失,可以对接收的待加载图片的数据流进行备份。
78.在一具体实施例中,步骤s2中确定数据流是否需要解密的步骤具体如下。
79.对数据流进行解析,得到数据流的预设位置对应的解析字段;将解析字段与预设字段进行比对,确定数据流是否需要进行解密。
80.具体地,对数据流进行解析得到数据流对应的解析字段。解析字段包括头部字段、中部字段和尾部字段。在一实施例中,基于头部字段可以分辨数据流是否需要解密。将头部字段与预设字段进行比对。
81.响应于头部字段与预设字段不一致,则表明数据流处于加密状态,为加密数据,需要进行解密处理。
82.响应于头部字段与预设字段一致,则表明数据流处于非加密状态,不需要进行解密操作,可以直接采用预设图片变换方式对数据流进行变换进而展示数据流对应的待加载图片。
83.在一具体实施例中,步骤s3中对数据流进行解密处理得到解密数据流的步骤具体如下。
84.通过预设解密方式对需要解密的数据流进行解密处理。当解密成功,则输出数据流对应的解密数据流;当解密失败,则输出未解密的数据流。
85.在一具体实施例中,步骤s4基于解密数据流对待加载图片进行加载的步骤具体如下。
86.具体地,待对数据流进行解密后得到解密数据流,则将解密数据流返回给glide模型,以使glide模型可以基于解密数据流加载显示图片。
87.在另一实施例中,为了避免浪费算力,可以将加载显示的图片与对应的数据流以及网络地址进行关联,并保存。
88.本实施例提供图片加载的方法,在数据流的基础上对文件进行解密,并以解密数据流的形式回传给glide进行加载,减少文件解码方式的多次读写损耗,节省图片解码耗时和内存资源消耗。
89.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
90.请参阅图6,图6是本发明提供的终端一实施例的框架示意图。电子设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一图片加载方法实施例中的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器,此外,电子设备80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
91.具体而言,处理器82用于控制其自身以及存储器81以实现上述任一图片加载方法实施例中的步骤。处理器82还可以称为cpu(central processing unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
92.请参阅图7,图7为本发明提供的计算机可读存储介质一实施例的框架示意图。
93.计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述图片加载方法实施例中的步骤。
94.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
95.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
96.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
97.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
98.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
技术特征:
1.一种图片加载系统,其特征在于,适用于android平台,所述图片加载系统包括依次级联的信息收发模块、分析模块、解密模块以及显示模块,所述信息收发模块,用于基于待加载图片的网络地址确定所述待加载图片的数据流;所述分析模块,用于对所述数据流进行解析,确定所述数据流是否需要解密;所述解密模块,用于响应于所述数据流需要解密,则通过预设解密方式对所述数据流进行解密处理得到解密数据流;所述显示模块,用于基于所述解密数据流对所述待加载图片进行加载。2.根据权利要求1所述的图片加载系统,其特征在于,所述信息收发模块,还用于通过预设请求方式向服务器发送图片加载请求,所述图片加载请求包括所述待加载图片的网络地址;并用于接收所述服务器根据所述待加载图片的网络地址返回的所述数据流;其中,所述预设请求方式包括okhttp请求方式。3.根据权利要求2所述的图片加载系统,其特征在于,所述图片加载系统还包括:监听模块,用于显示所述数据流的下载进度。4.根据权利要求2所述的图片加载系统,其特征在于,所述预设请求方式和/或所述预设解密方式通过dsl语法写入所述系统。5.根据权利要求2所述的图片加载系统,其特征在于,所述图片加载系统还包括:缓存管理模块,用于将所述待加载图片的网络地址以及对应加载显示的图像进行关联并进行存储。6.根据权利要求3所述的图片加载系统,其特征在于,所述图片加载系统还包括:检测模块,用于在所述信息收发模块向所述服务器发送所述图片加载请求之前,检测所述缓存管理模块中是否已经对所述待加载图片的网络地址进行缓存。7.一种图片加载方法,其特征在于,所述图片加载方法包括:基于待加载图片的网络地址确定所述待加载图片的数据流;对所述数据流进行解析,确定所述数据流是否需要解密;响应于所述数据流需要解密,则对所述数据流进行解密处理得到解密数据流;基于所述解密数据流对所述待加载图片进行加载。8.根据权利要求7所述的图片加载方法,其特征在于,所述基于待加载图片的网络地址确定所述待加载图片的数据流,包括:采用预设请求方式向服务器发送图片加载请求,所述图片加载请求包括所述待加载图片的网络地址,所述预设请求方式包括okhttp请求方式;接收所述服务器根据所述待加载图片的网络地址返回的所述数据流。9.根据权利要求7所述的图片加载方法,其特征在于,所述对所述数据流进行解析,确定所述数据流是否需要解密,包括:对所述数据流进行解析,得到所述数据流的预设位置对应的解析字段;将所述解析字段与预设字段进行比对,确定所述数据流是否需要进行解密。10.一种终端,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求7至9任一项所述的图片加载方法。11.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时以实现权利要求7至9任一项所述的图片加载方法。
技术总结
本申请公开了一种图片加载系统、方法、终端及计算机可读存储介质,一种图片加载系统,适用于Android平台,图片加载系统包括依次级联的信息收发模块、分析模块、解密模块以及显示模块,信息收发模块,用于基于待加载图片的网络地址确定待加载图片的数据流;分析模块,用于对数据流进行解析,确定数据流是否需要解密;解密模块,用于响应于数据流需要解密,则通过预设解密方式对数据流进行解密处理得到解密数据流;显示模块,用于基于解密数据流对待加载图片进行加载。本申请获取待加载图片的数据流,并对数据流进行解密操作,在实现了图片加载框架的解密功能同时,又能减少文件解码方式的多次读写耗损,节省图片解码耗时和内存资源消耗。源消耗。源消耗。
技术研发人员:孙正堂
受保护的技术使用者:杭州华橙软件技术有限公司
技术研发日:2023.06.09
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
