CN117421285A - 图片数据缓存方法和装置、计算机设备和存储介质 - Google Patents
图片数据缓存方法和装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117421285A CN117421285A CN202311395356.5A CN202311395356A CN117421285A CN 117421285 A CN117421285 A CN 117421285A CN 202311395356 A CN202311395356 A CN 202311395356A CN 117421285 A CN117421285 A CN 117421285A
- Authority
- CN
- China
- Prior art keywords
- target
- management
- management class
- data
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012216 screening Methods 0.000 claims abstract description 29
- 238000004140 cleaning Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 384
- 230000003139 buffering effect Effects 0.000 description 17
- 230000018109 developmental process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000013507 mapping Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000002955 isolation Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 239000000872 buffer Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种图片数据缓存方法和装置、计算机设备和存储介质,属于人工智能技术领域。该方法包括:获取来源于所述至少两个应用程序组件的图片数据,得到原始图片数据;基于预先获取到的存储路径信息,在所述图片加载库中为每一所述应用程序组件创建目标缓存文件夹;获取每一所述应用程序组件的管理类数据;基于预设的接口适配器从所述管理类数据筛选出目标类数据;基于所述目标类数据从所述至少两个应用程序组件筛选出目标程序组件;获取所述目标程序组件的所述原始图片数据得到目标图片数据;将所述目标图片数据缓存至所述目标缓存文件夹。本申请实施例能够减少不同应用程序组件在图片数据缓存时的干扰。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图片数据缓存方法和装置、计算机设备和存储介质。
背景技术
随着大数据时代的到来,如何高效且快速的处理大量数据成为大数据发展关键。例如,在软件开发领域,同一应用上设置多个功能,为了提高应用的运行效率,需要对应用中功能下载的图片数据快速缓存。
相关技术中,采用第三方数据库负责对接多个应用程序组件的图片数据缓存,通过第三方数据库支持从网络中下载且缓存数据,设置图片数据到对应的UI控件上,并将图片数据缓存到一个存储空间中。但,由于应用程序组件的图片数据都存储到一个存储空间中,不同应用程序组件的图片数据会相互干扰,导致不同应用程序组件会出现交叉调用情况,进而影响目标应用中部分功能的业务逻辑。因此,如何减少图片数据缓存时图片数据之间的干扰,成为了亟待解决的技术问题。
发明内容
本申请实施例的主要目的在于提出一种图片数据缓存方法和装置、计算机设备和存储介质,旨在减少不同应用程序组件在图片数据缓存时的干扰。
为实现上述目的,本申请实施例的第一方面提出了一种图片数据缓存方法,用于目标应用的图片缓存,所述目标应用安装有图片加载库,所述目标应用包括至少两个应用程序组件;所述方法包括:
获取来源于所述至少两个应用程序组件的图片数据,得到原始图片数据;
基于预先获取到的存储路径信息,在所述图片加载库中为每一所述应用程序组件创建目标缓存文件夹;
获取每一所述应用程序组件的管理类数据;
基于预设的接口适配器从所述管理类数据筛选出目标类数据;
基于所述目标类数据从所述至少两个应用程序组件筛选出目标程序组件;
获取所述目标程序组件的所述原始图片数据得到目标图片数据;
将所述目标图片数据缓存至所述目标缓存文件夹。
在一些实施例,所述获取每一所述应用程序组件的管理类数据,包括:
获取每一所述应用程序组件的管理类创建数据;其中,所述管理类创建数据包括:目标命名空间信息;
对所述目标命名空间信息进行管理类创建,得到每一所述应用程序组件的目标管理类;
调用所述目标管理类,通过所述目标管理类获取所述应用程序组件的所述管理类数据。
在一些实施例,所述对所述目标命名空间信息进行管理类创建,得到每一所述应用程序组件的目标管理类,包括:
根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果;
若所述管理类查找结果表征为不存在与所述目标命名空间信息相同的候选管理类,根据所述目标命名空间信息进行管理类创建,得到所述目标管理类;
若所述管理类查找结果表征为存在与所述目标命名空间信息相同的候选管理类,向所述目标应用推送缓存管理提示信息以接收缓存管理反馈信息,并根据所述缓存管理反馈信息进行管理类创建,得到所述目标管理类。
在一些实施例,所述若所述管理类查找结果表征为存在与所述目标命名空间信息相同的候选管理类,向所述目标应用推送缓存管理提示信息以接收缓存管理反馈信息,并根据所述缓存管理反馈信息进行管理类创建,得到所述目标管理类,包括:
若所述管理类查找结果表征为存在与所述目标命名空间信息相同的所述候选管理类,向所述目标应用推送缓存管理提示信息;
接收所述目标应用根据所述缓存管理提示信息反馈的缓存管理反馈信息;其中,所述缓存管理反馈信息包括以下任意一种:更新命名空间信息和合并管理信息;
若所述缓存管理反馈信息为所述更新命名空间信息,根据所述更新命名空间信息进行管理类创建,得到所述目标管理类;
若所述缓存管理反馈信息为所述合并管理信息,将所述管理类数据结构中与所述目标命名空间信息相同的所述候选管理类作为所述目标管理类。
在一些实施例,在所述根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果之前,所述方法还包括:
创建管理类数据结构,具体包括:
获取所述候选管理类的管理类创建信息;其中,所述管理类创建信息包括:候选命名空间信息和管理类数据;
将所述候选命名空间信息作为预设数据结构的键,将所述管理类数据作为所述预设数据结构的值,得到所述管理类数据结构。
在一些实施例,所述根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果,包括:
根据所述目标命名空间信息对所述候选命名空间信息进行筛选处理,得到选定命名空间信息;
根据所述选定命名空间信息对所述管理类数据进行筛查处理,得到所述管理类查找结果。
在一些实施例,在所述将所述目标图片数据缓存至所述目标缓存文件夹之后,所述方法还包括:
获取所述目标缓存文件中所述目标图片数据的使用频率,得到图片使用频率;
根据预设的使用频率阈值和所述图片使用频率从所述目标缓存文件中提取出选定图片数据;
根据预设的定期清理周期对所述目标缓存文件夹进行占用空间计算,得到已占用空间值;
当所述已占用空间值达到预设的限额清理阈值时,对所述选定图片数据进行清理。
为实现上述目的,本申请实施例的第二方面提出了一种图片数据缓存装置,用于目标应用的图片缓存,所述目标应用安装于图片加载库,所述目标应用包括至少两个应用程序组件;所述装置包括:
原始数据获取模块,用于获取来源于所述至少两个应用程序组件的图片数据,得到原始图片数据;
文件夹创建模块,用于基于预先获取到的存储路径信息,在所述图片加载库中为每一所述应用程序组件创建目标缓存文件夹;
管理类数据获取模块,用于获取每一所述应用程序组件的管理类数据;
数据筛选模块,用于基于预设的接口适配器从所述管理类数据筛选出目标类数据;
组件筛选模块,用于基于所述目标类数据从所述至少两个应用程序组件筛选出目标程序组件;
目标数据获取模块,用于获取所述目标程序组件的所述原始图片数据得到目标图片数据;
数据缓存模块,用于将所述目标图片数据缓存至所述目标缓存文件夹。
为实现上述目的,本申请实施例的第三方面提出了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请提出的图片数据缓存方法和装置、计算机设备和存储介质,其通过获取至少两个应用程序组件的图片数据得到原始图片数据,并在图片加载库中给每一应用程序组件创建对应的目标缓存文件夹,以实现不同应用程序组件的图片数据隔离存放。然后,基于接口适配器从应用程序组件的管理类数据中筛选出目标类数据,再确定目标类数据对应的应用程序组件为目标程序组件,以将目标程序组件的目标图片数据存入到目标缓存文件夹。因此,实现每一应用程序组件的图片数据在缓存时精准控制和隔离缓存,减少不同应用程序组件之间的图片数据干扰,极大程度提高了目标应用的开发效率和稳定性。
附图说明
图1是现有技术提供的图片数据缓存方法的系统架构图;
图2是本申请实施例提供的图片数据缓存方法的系统架构图;
图3是本申请实施例提供的图片数据缓存方法的流程图;
图4是图3中的步骤S303的流程图;
图5是图4中的步骤S402的流程图;
图6是本申请另一实施例提供的图片数据缓存方法的流程图;
图7是图5中的步骤S501的流程图;
图8是图5中的步骤S503的流程图;
图9是本申请另一实施例提供的图片数据缓存方法的流程图;
图10是本申请实施例提供的图片数据缓存装置的结构示意图;
图11是本申请实施例提供的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
SDWebImage:是一个开源的图片加载和缓存库,SDWebImage提供了快速、异步和可扩展的图片加载和缓存解决方案。SDWebImage支持从网络、本地文件系统和内存中加载图片,并且可以自动管理图片的缓存。SDWebImage还提供了一些额外的功能,如图片的渐进式加载、图片的变换和圆角处理等。SDWebImage广泛应用于iOS和macOS平台的开发中,帮助开发者更高效地加载和显示图片,提升用户体验。
命名空间(namespace):是表示着一个标识符可见范围,是一种组织和管理代码的机制。在编程中,命名空间可以将代码分组,以避免命名冲突和提高代码的可维护性。命名空间可以包含类、接口、函数、变量等代码元素。通过将相关的代码放在同一个命名空间下,可以让代码的结构更清晰,易于理解和维护。
在软件开发领域,为了方便软件中模块的调用,快速集成更多的功能到系统中,软件开发团队会对自己的模块进行封装,最后以动态库、静态库、共享库,也有可能以源代码的方式提供到一个功能库中。需要说明的是,这个功能库也称为系统库,非软件提供的库称为第三方库,且系统主要是IOS系统、Android系统、Windows系统一类操作系统层。系统库通常只提供操作系统的API,这类API的使用困难,需要专门的开发人员才能使用。为了解决API使用困难的问题设置了第三方库,且第三方库支持网络中下载且缓存图片数据,并设置图片数据到对应的UI空间上,以通过第三方库内部的多线程和缓存机制进行图片数据缓存。但是不同软件开发团队都使用第三方库,因为不同软件开发团队的组件编译到同一个系统中,不同软件开发团队使用第三方库来管理图片数据缓存时,会影响到其他团队的业务逻辑。例如,如图1所示,应用程序组件A、应用程序组件B、应用程序组件C至应用程序组件N都使用第三方库,每一应用程序组件的图片数据都缓存在“Default”文件夹中,且三个应用程序组件都有“Default”文件夹的管理权限,很容易影响其他应用程序组件的功能。
基于此,本申请实施例提供了一种图片数据缓存方法和装置、计算机设备和存储介质,通过在目标应用中安装图片加载库,且目标应用包括至少两个应用程序组件。当需要进行图片数据缓存时,获取至少两个应用程序组件的原始图片数据,并在图片加载库内创建每一应用程序组件的目标缓存文件夹,以通过目标缓存文件夹隔离式地存储每一应用程序组件的图片数据。在图片数据缓存至目标缓存文件夹时,需要选中的应用程序组件的管理类数据作为目标类数据,根据目标类数据从应用程序组件中选出目标应用程序组件,再将目标应用程序组件的原始图片数据作为目标图片数据,以将目标图片数据存储至目标缓存文件夹。因此,通过根据每一应用程序组件的管理类数据将图片数据针对性地存储到对应的目标缓存文件夹,以使图片数据隔离且针对性地存入到目标缓存文件夹,实现每一应用程序组件的图片数据隔离和精准控制,减少应用程序组件的功能干扰,提高应用开发的效率和稳定性。
本申请实施例提供的图片数据缓存方法和装置、计算机设备和存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的图片数据缓存方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的图片数据缓存方法,涉及人工智能技术领域。本申请实施例提供的图片数据缓存方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现图片数据缓存方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费计算机设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
本申请实施例公开来一种图片数据缓存方法,且图片数据缓存方法应用于目标应用的图片缓存。如图2所示,目标应用包括至少两个应用程序组件,目标应用安装有图片加载库,且图片加载库是应用程序组件存储图片数据的缓存库,且图片加载库和目标应用之间设有接口适配器。通过接口适配器给每一应用程序组件创建管理类,以管理每一应用程序组件的图片数据缓存,并隔离其他应用程序组件的图片数据缓存。需要说明的是,接口适配器不仅隔离不同应用程序组件的图片数据缓存,还可以对同一应用程序组件的不同业务下的图片数据进行隔离,以实现图片数据的隔离缓存,减少同一应用程序组件下不同业务功能的图片数据干扰,使得目标应用的功能更加稳定。
具体地,如图2所示,若应用程序组件设置至少两个,且示出了四个应用程序组件分别定义为应用程序组件A、应用程序组件B、应用程序组件C和应用程序组件N。应用程序组件A对应的目标缓存文件为pathA,应用程序组件B对应的目标缓存文件夹为pathB,应用程序组件C对应的目标缓存文件夹为pathC,应用程序组件N对应的目标缓存文件夹为pathN。因此,通过给每一应用程序组件设置不同的目标缓存文件夹,以实现图片数据缓存时的隔离,减少应用程序组件之间的图片数据干扰。
需要说明的是,本实施例采用的图片加载库为SDWebImage,以在SDWebImage中创建每一应用程序组件的目标缓存文件夹。
图3是本申请实施例提供的图片数据缓存方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S301至步骤S307。
步骤S301,获取来源于至少两个应用程序组件的图片数据,得到原始图片数据;
步骤S302,基于预先获取到的存储路径信息,在图片加载库中为每一应用程序组件创建目标缓存文件夹;
步骤S303,获取每一应用程序组件的管理类数据;
步骤S304,基于预设的接口适配器从管理类数据筛选出目标类数据;
步骤S305,基于目标类数据从至少两个应用程序组件筛选出目标程序组件;
步骤S306,获取目标程序组件的原始图片数据得到目标图片数据;
步骤S307,将目标图片数据缓存至目标缓存文件夹。
本申请实施例所示意的步骤S301至步骤S307,通过获取至少两个应用程序组件的图片数据得到原始图片数据,并在图片加载库中给每一应用程序组件创建对应的目标缓存文件夹。当需要将应用程序组件的图片数据针对性地缓存在目标缓存文件夹时,基于接口适配器从应用程序组件的管理类数据中筛选出目标类数据,再确定目标类数据对应的应用程序组件为目标程序组件,以将目标程序组件的目标图片数据存入到目标缓存文件夹。因此,根据每一应用程序组件的管理类数据将图片数据针对性地缓存至对应的目标缓存文件夹,实现每一应用程序组件的图片数据隔离和精准控制,极大程度提高了目标应用的开发效率和稳定性。
在一些实施例的步骤S301中,在获取至少两个应用程序组件的图片数据之前,需要通过接口适配器创建图片数据获取接口,且图片数据获取接口用于获取应用程序组件的图片数据。因此,通过设置图片数据获取接口采集应用程序组件的图片数据作为原始图片数据,使得原始图片数据获取简易。需要说明的是,图片数据获取接口是通过接口适配器中的基础视图类提供。在本实施例中,基础视图类为UIView,UIView包括:UIButton+XYWebCache、UIImageView+XYHighlightedWebCache和UIImageView+XYWebCache。UIButton+XYWebCache提供UIButton设置图片数据的API,UIImageView+XYHighlightedWebCache提供UIImageView设置高亮图片数据的API,UIImageView+XYWebCache提供UIImageView设置图片数据的API。因此,通过不同的基础视图类提供图片数据的接口,以扩大应用程序组件的图片数据的获取方式。
在一些实施例的步骤S302中,基于预先获取到的存储路径信息确定缓存文件名称信息,且缓存文件名称信息与存储路径信息一致。根据缓存文件名称信息在图片加载库内为每一应用程序组件创建目标缓存文件夹。需要说明的是,存储路径信息是根据预先获取的命名空间信息设置,且每一命名空间信息是唯一的,所以每一目标缓存文件夹的缓存文件名称信息是唯一。通过设置唯一的缓存文件名称信息,保证了每一应用程序组件的图片数据针对性地放入到对应的目标缓存文件夹,减少图片数据存入错误的情况。
例如,目标应用为XXapply,若应用程序组件为目标应用的“朋友动态”,且“朋友动态”的命名空间信息为“XXapply/find/moment”,根据命名空间信息确定存储路径信息为“cache/XXapply/find/moment”,那么创建“朋友圈”的目标文件夹的缓存文件名称信息为“cache/XXapply/find/moment”。若应用程序组件为目标应用的“实时查看”,“实时查看”的命名空间信息为“XXapply/find/look”,根据命名空间信息确定存储路径信息为“cache/XXapply/find/look”,那么创建“实时查看”的目标文件夹的缓存文件名称信息为“cache/XXapply/find/look”。因此,根据唯一的命名空间信息给每一应用程序组件创建目标缓存文件夹,以通过目标缓存文件夹隔离每一应用程序组件之间的图片数据,减少不同应用程序组件之间的图片数据产生干扰的情况。
请参阅图4,在一些实施例中,步骤S303可以包括但不限于包括步骤S401至步骤S403:
步骤S401,获取每一应用程序组件的管理类创建数据;其中,管理类创建数据包括:目标命名空间信息;
步骤S402,对目标命名空间信息进行管理类创建,得到每一应用程序组件的目标管理类;
步骤S403,调用目标管理类,通过目标管理类获取应用程序组件的管理类数据。
在一些实施例的步骤S401中,获取每一应用程序组件的命名空间信息得到目标命名空间信息,目标命名空间信息表示一个标识符可见范围,且不同的目标命名空间信息的含义是互不相干的,所以目标命名空间信息是唯一的。
在一些实施例的步骤S402中,对目标命名空间信息进行管理类创建得到每一应用程序组件的目标管理类。需要说明的是,目标命名空间信息是唯一的,所以创建目标管理类的类名也是唯一的,也即说在目标应用中,不可能存在两个类名相同的目标管理类,以减少因为类名相同产生调用冲突的情况。
例如,“朋友动态”的命名空间信息为“XXapply/find/moment”,创建目标管理类的类名为manageA。若确定“实时查看”的命名空间信息为“XXapply/find/look”,创建目标管理类的类名为manageB,以通过类名为manageA的目标管理类管理“朋友动态”的图片数据缓存,而类名为manageB的目标管理类管理“实时查看”的图片数据缓存。
需要说明的是,基于接口适配器设置管理类创建接口,在本实施例中,管理类创建接口为xyCreateManagerForN,xyCreateManagerForN提供根据目标命名空间信息创建管理类的方法。需要进一步说明的是,通过应用程序组件修改原有的图片加载库内的代码来构建新的图片加载库,以通过新的图片加载库完成每一应用程序组件的图片缓存。若不同应用程序组件构建新的图片加载库出现了库名称重复的情况下,那么不同应用程序组件之间的图片加载库会发生覆盖的问题。而本申请通过设置管理类创建接口完成每一应用程序组件的管理类创建,且管理类创建接口根据目标命名空间信息创建管理类,无需修改图片加载库内的代码,仅使用一个图片加载库完成多个应用程序组件的图片数据隔离缓存,提升图片数据缓存的稳定性。
在一些实施例的步骤S403中,完成目标管理类之后,目标管理类用于管理对应的应用程序组件的图片数据缓存。因此,基于目标管理类获取应用程序组件的管理类数据。需要说明的是,一个目标管理类数据可以管理多个应用程序组件的图片数据缓存。因此,获取目标管理类的管理类基本数据和管理组件数据作为管理类数据。进一步说明的是,管理类基本数据为目标管理类的基本信息,管理组件数据为目标管理类管理哪些应用程序组件的图片数据缓存。
本申请实施例所示意的步骤S401至步骤S403,通过根据应用程序组件的目标命名空间信息创建目标管理类,以创建类名唯一的目标管理类,再调用目标管理类获取应用程序组件的管理类数据,使得每一应用程序组件的管理类数据获取简易。
请参照图5,在一些实施例中,步骤S402可以包括但不限于包括步骤S501至步骤S503:
步骤S501,根据目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果;
步骤S502,若管理类查找结果表征为不存在与目标命名空间信息相同的候选管理类,根据目标命名空间信息进行管理类创建,得到目标管理类;
步骤S503,若管理类查找结果表征为存在与目标命名空间信息相同的候选管理类,向目标应用推送缓存管理提示信息以接收缓存管理反馈信息,并根据缓存管理反馈信息进行管理类创建,得到目标管理类。
在一些实施例的步骤S501中,管理类数据结构是一种映射关系,且映射关系是一种将键和值进行关联的数据结构,也即是将命名空间信息和管理类数据进行关联的数据结构。通过根据目标命名空间信息在管理类数据结构中查找出对应的管理类数据以得到管理类查找结果,根据管理类查找结果判断是否已创建了应用程序组件的管理类。
具体地,在本实施例中,管理类数据结构为全局map,全局map是指在目标应用的全局范围内定义的一个映射类型的变量,且以键值对存储映射关系。因此,根据目标命名空间信息可以在全局map快速查找到对应的管理类数据以得到管理类查找结果。
在一些实施例的步骤S502中,若管理类查找结果表征为不存在与目标命名空间信息相同的候选管理类,也即管理类数据结构中没有存在与目标命名空间信息对应的管理类数据,表征在没有应用程序组件创建过目标命名空间信息对应的管理类。因此,基于目标命名空间信息进行管理类创建得到目标管理类。需要说明的是,在创建目标管理类时,需要先确定管理类数据结构记载了哪些管理类数据,以确定已创建了哪些管理类,再基于目标命名空间信息创建区别于已创建管理类的目标管理类。例如,若已创建管理类的类名包括manageA、manageB、manageC,现在确定目标命名空间信息为“XXapply/find/Search”,那么基于目标命名空间信息建立对应的目标管理类的类名为manageD。
需要说明的是,完成目标管理类创建之后,需要基于目标管理类和目标命名空间信息更新管理类数据结构,也即建立目标管理类的管理类数据和目标命名空间信息之间的映射关系为目标映射关系,将目标映射关系存入到管理类数据结构。
在一些实施例的步骤S503中,若管理类查找结果表征为存在与目标命名空间信息相同的候选管理类,也即管理类数据结构存在与目标命名空间信息对应的管理类数据,也表征其他应用程序组件建立了与目标命名空间信息对应的管理类。因此,需要给目标应用推送缓存管理提示信息,且缓存管理提示信息以“弹窗”的方式显示于目标应用的界面中,以便于开发团队人员可以通过“弹窗”显示的内容知晓已存在目标命名空间信息对应的管理类。开发团队人员根据缓存管理提示信息会在目标应用上反馈如何创建应用程序组件的管理类,以接收目标应用根据缓存管理提示信息反馈的缓存管理反馈信息。根据缓存管理反馈信息创建目标管理类,使得每一应用程序组件都能够创建对应的目标管理类,以通过目标管理类管理应用程序组件的图片数据缓存,实现不同应用程序组件之间的图片数据缓存隔离,减少图片数据之间的干涉。
在本实施例所示意的步骤S501至步骤S503,通过根据目标命名空间信息在管理类数据结构中查找,也即判断其他应用程序组件是否已创建了目标命名空间信息对应的管理类以得到管理类查找结果。基于管理类查找结果确定建立目标命名空间信息对应的管理类,还是建立缓存管理反馈信息对应的管理类,以独立创建每一应用程序组件的管理类,减少不同应用程序组件的图片数据的缓存干扰。
在一些实施例中,在步骤S501之前,图片数据缓存方法还可以包括:创建管理类数据结构。需要说明的是,在根据目标命名空间信息在管理类数据结构中查找之前,需要先确定每一候选命名空间信息和管理类数据之间的映射关系,再基于映射关系构建管理类数据结构。通过构建了管理类数据结构之后,根据目标命名空间信息在管理类数据结构进行管理类查找,以判断是否创建了目标命名空间信息对应的管理类数据,无需逐个管理类数据比对,提升管理类查找的效率。
请参阅图6,在一些实施例中,创建管理类数据结构,可以但不限于包括步骤S601至步骤S602:
步骤S601,获取候选管理类的管理类创建信息;其中,管理类创建信息包括:候选命名空间信息和管理类数据;
步骤S602,将候选命名空间信息作为预设数据结构的键,将管理类数据作为预设数据结构的值,得到管理类数据结构。
在一些实施例的步骤S601中,候选管理类是预先设置管理类,获取每一候选管理类的管理类创建信息,且管理类创建信息包括:候选命名空间信息和管理类数据,以确定候选管理类对应的候选命名空间信息。需要说明的是,候选管理类内存在已创建管理类和未创建管理类,已创建管理类的管理类数据包括管理类基本信息和管理组件数据,而未创建管理类的管理类数据只包括管理类基本信息。
在一些实施例的步骤S602中,预设数据结构为全局map,且全局map根据不同的候选命名空间存储不同的管理类数据。因此,将候选命名空间信息作为预设数据结构的键,将管理类数据作为预设数据结构的值以得到管理类数据结构。因此,通过设置以键值对表征候选命名空间信息和管理类数据之间映射关系,便于以目标命名空间信息为键在管理类数据结构中快速查找到管理类数据。需要说明的是,根据已创建管理类的管理类数据确定管理类数据结构的值为具体数值,而根据未创建管理类数据的管理类数据设置管理类数据结构的值为空,以根据管理类数据结构中的值是否为空确定是否存在已创建的候选管理类。
需要说明的是,管理类包括:默认管理类和自定义管理类,默认管理类是一个公用的管理类。自定义管理类是根据命名空间信息创建的管理类,且自定义管理类只管理对应的应用程序组件的图片数据缓存,不管理其他应用程序组件的图片数据缓存。在本实施例中,候选管理类为自定义管理类。通过采用自定义管理类单独管理对应的应用程序组件的图片数据缓存,减少应用程序组件之间的图片数据缓存。
具体地,在本实施例中,管理类数据结构为全局map,全局map是指在目标应用的全局范围内定义的一个映射类型的变量。通过将候选命名空间信息为键key,管理类数据为值value,再将key和value之间关联起来得到全局map。因此,通过构建以键值对表征的全局map,以目标命名空间信息为键可以在全局map中快速查找和访问到对应的管理类数据。
在本实施例所示意的步骤S601至步骤S602,通过将候选管理类的候选命名空间信息作为预设数据结构的键,将候选管理类的候选命名空间信息作为预设数据结构的值,以构建管理类数据结构。因此,通过以键值对表征候选命名空间信息和管理类数据之间的映射关系,便于管理类数据查找时,能够以目标命名空间信息在管理类数据结构上快速找到对应的管理类数据。
请参阅图7,在一些实施例中,步骤S501可以包括但不限于包括步骤S701至步骤S702:
步骤S701,根据目标命名空间信息对候选命名空间信息进行筛选处理,得到选定命名空间信息;
步骤S702,根据选定命名空间信息对管理类数据进行筛查处理,得到管理类查找结果。
在一些实施例的步骤S701中,因为管理类数据结构记载了所有候选命名空间信息,所以先根据目标命名空间信息在管理类数据结构中查找相同的候选命名空间信息作为选定命名空间信息。例如,管理类数据结构如表1所示,候选命名空间信息为“XXapply/find/moment”对应的管理类数据为manageA,以确定类名为manageA的候选管理类管理应用程序组件“XXapply/find/moment”;候选命名空间信息为“XXapply/find/look”对应的管理类数据为manageB,候选命名空间信息为“XXapply/find/shopping”对应的管理类数据为manageB,由此而可知类名为manageB的管理类管理应用程序组件XXapply/find/look和“XXapply/find/shopping”。候选命名空间信息为XXapply/find/moment对应的管理类数据为空,确定没有存在候选命名空间信息为XXapply/find/moment对应的管理类。因此,通过表1可以确定每一候选命名空间信息对应的管理类数据,且可以确定哪一候选命名空间对应的管理类是否存在。
表1
在一些实施例的步骤S702中,根据选定命名空间信息对管理类数据进行筛查处理,也即获取选定命名空间信息对应的值是否为空以得到管理类查找结果。若选定命名空间信息对应的值为具体数值,确定管理类查找结果为存在与目标命名空间信息相同的候选管理类。若选定命名空间信息对应的值为空,确定管理类查找结果为不存在与目标命名空间信息相同的候选管理类。例如,若选定命名空间信息XXapply/find/moment对应的值为manageA,确定查找结果为存在与目标命名空间信息对应的候选管理类manageA。若选定命名空间信息XXapply/find/Search对应的值为空,那么查找结果为不存在与目标命名空间信息对应的候选管理类。
在本实施例所示意的步骤S701至步骤S702,通过根据目标命名空间信息查找到对应的候选命名空间信息作为选定命名空间信息,再在管理类数据结构中确定选定命名空间信息对应的值是否为空以确定管理类查找结果,以判断目标命名空间信息对应的候选管理类是否已创建。因此判断目标命名空间信息对应的候选管理类是否创建,无需逐个管理类数据进行比对,提高管理类数据是否创建的判断效率。
请参阅图8,在一些实施例中,步骤S503可以包括但不限于包括步骤S801至步骤S804:
步骤S801,若管理类查找结果表征为存在与目标命名空间信息相同的候选管理类,向目标应用推送缓存管理提示信息;
步骤S802,接收目标应用根据缓存管理提示信息反馈的缓存管理反馈信息;其中,缓存管理反馈信息包括以下任意一种:更新命名空间信息和合并管理信息;
步骤S803,若缓存管理反馈信息为更新命名空间信息,根据更新命名空间信息进行管理类创建,得到目标管理类;
步骤S804,若缓存管理反馈信息为合并管理信息,将管理类数据结构中与目标命名空间信息相同的候选管理类作为目标管理类。
在一些实施例的步骤S801中,若管理类查找结果表征为存在与目标命名空间信息相同的候选管理类,表征其他应用程序组件已创建了目标命名空间信息对应的候选管理类。例如,若目标命名空间信息为XXapply/find/look,通过表1确定已存在的候选管理类为manageB。需要说明的是,候选管理类manageB是已创建管理类,并是根据候选命名空间信息为XXapply/find/shopping预先创建的。需要说明的是,类名为manageB的候选管理类用于管理应用程序组件XXapply/find/shopping的图片数据缓存。因此,在发现已创建了目标命名空间信息对应的管理类之后,向目标应用推送缓存管理提示信息,以通过缓存管理提示信息询问目标应用处的开发团队人员需要如何创建目标管理类来管理目标命名空间信息为XXapply/find/look的应用程序组件。
在一些实施例的步骤S802中,接收来自目标应用反馈的缓存管理反馈信息,且缓存管理反馈信息包括更新命名空间信息和合并管理信息。需要说明的是,更新命名空间信息用于为修改后的命名空间信息,且更新命名空间信息与目标命名空间信息不同。合并管理信息用于表征将查找到候选管理类一同管理目标命名空间信息对应的应用程序组件。
在一些实施例的步骤S803中,若接收更新命名空间信息,基于更新命名空间信息创建管理类得到目标管理类,且目标管理类管理更新命名空间信息对应的应用程序组件的图片数据缓存。例如,若已创建了目标命名空间信息XXapply/find/look对应的候选管理类为manageB,接收更新命名空间信息为XXapply/find/see,并根据更新命名空间信息创建目标管理类为manageE,以通过目标管理类manageE管理“XXapply/find/look”对应的应用程序组件。
在一些实施例的步骤S804中,若接收合并管理信息,将查找到的候选管理类作为目标管理类,通过目标管理类管理候选命名空间信息和目标命名空间信息对应的应用程序组件。例如,若已创建了目标命名空间信息XXapply/find/look对应的候选管理类为manageB,将类名为manageB的候选管理类作为目标管理类,所以类名为manageB的目标管理类管理命名空间信息为“XXapply/find/look”和“XXapply/find/shopping”对应的应用程序组件的图片数据缓存。
在本实施例所示意的步骤S801至步骤S804,在查找到已创建的目标命名空间信息对应的管理类后,根据缓存管理反馈信息为更新命名空间信息创建新的管理类作为目标管理类,根据缓存管理反馈信息为合并管理信息将已查找到的候选管理类作为目标管理类,由目标管理类合并管理多个应用程序组件的图片数据缓存。因此,根据用户可以图片数据缓存时,若存在干扰风险时重新创建管理类来管理应用程序组件的图片数据缓存,若不会发生干扰时采用合并管理手段,以扩大应用程序组件的图片数据缓存的管理方式。
在一些实施例的步骤S304中,完成每一应用程序的管理类创建之后,获取每一应用程序组件的管理类数据,以基于接口适配器从管理类数据中筛选出目标类数据,也即选中哪一个目标管理类进行图片数据的缓存。需要说明的是,根据目标管理类发起图片缓存请求的时间顺序获取对应目标管理类的管理类数据作为目标类数据。
在一些实施例的步骤S305至步骤S307中,根据目标类数据对至少应用程序组件进行筛选处理,也即筛选出目标管理类正在管理哪一个应用程序组件的图片数据缓存,以得到目标程序组件。然后获取目标程序组件的原始图片数据作为目标图片数据。需要说明的是,通过接口适配器确定哪一个目标管理类发起图片缓存请求后,确定目标管理类管理的目标应用程序组件的原始图片数据为目标图片数据,然后基于接口适配器将目标管理类的目标缓存文件夹发送给图片下载器,也即将目标缓存文件夹的存储路径发送给图片下载器,以便于图片下载器将目标图片数据缓存至目标缓存文件夹,以实现每一应用程序组件的图片数据隔离式缓存,且缓存后的目标图片数据隔离存放,减少因为应用程序组件之间图片数据缓存时的干扰,提高了系统开发的效率和稳定性。
请参阅图9,在一些实施例,步骤S502包括但不限于包括步骤S901至步骤S904:
步骤S901,获取目标缓存文件中目标图片数据的使用频率,得到图片使用频率;
步骤S902,根据预设的使用频率阈值和图片使用频率从目标缓存文件中提取出选定图片数据;
步骤S903,根据预设的定期清理周期对目标缓存文件夹进行占用空间计算,得到已占用空间值;
步骤S904,当已占用空间值达到预设的限额清理阈值时,对选定图片数据进行清理。
在一些实施例的步骤S901中,当目标缓存文件夹内的目标图片数据被使用一次,目标缓存文件夹上预设的计数器加一。因此,通过获取计数器计算的数值以确定目标图片数据被使用的频率得到图片使用频率。需要说明的是,图片使用频率越高表征对应的目标图片数据越重要,反之,图片使用频率越低表征对应的目标图片数据越不重要。
在一些实施例的步骤S902中,根据预设的使用频率阈值和图片使用频率对目标缓存文件夹中的目标图片数据进行筛选,也即获取图片使用频率低于使用频率阈值的目标图片数据作为选定图片数据。需要说明的是,定义选定图片数据为不重要的目标图片数据。
在一些实施例的步骤S903和步骤S904中,为了让每一目标缓存文件夹能够存储重要的目标图片数据,减少不重要的目标图片数据占用了目标缓存文件夹的空间。预先设置定期清理周期和限额清理阈值,通过定期清理周期和限额清理阈值对目标缓存文件夹进行监控和清理。具体地,根据定期清理周期定期对目标缓存文件夹进行占用空间计算得到已占用空间值。通过将已占用空间值和限额清理阈值进行比较,若已占用空间值达到限额清理阈值,表征目标缓存文件夹内存储的目标图片数据过多,将要影响目标应用的稳定性。通过将选定图片数据进行清理,以删除不重要的目标图片数据,减少目标图片数据对目标缓存文件夹的内存占用,使得目标应用的运行效率提高。
需要说明的是,除了定期对目标缓存文件夹进行清理,还可以手动对目标缓存文件夹进行清理。通过接收手动清理指令,根据手动清理指令将对应的目标图片数据进行清理,使得目标缓存文件夹的目标图片数据清理操作更加灵活。
在本实施例所示意的步骤S901至步骤S904,通过从目标图片数据中选出使用频率不高的目标图片数据作为选定图片数据。定期发现目标缓存文件夹内的已占用空间值大于预设的限额清理阈值时,将选定图片数据清掉,以释放更多内存空间提供给其他目标图片数据缓存,减少不重要的目标图片数据对目标缓存文件夹的占用,提升目标应用的运行效率。
本申请实施例通过在目标应用安装图片加载库,图片加载库和目标应用之间设有接口适配器。当需要对图片数据缓存时,通过接口适配器创建图片数据获取接口,以通过图片数据获取接口获取至少两个应用程序组件的图片数据得到原始图片数据。在进行图片数据缓存前,基于预先获取到的存储路径信息确定缓存文件名称信息,根据缓存文件名称信息在图片加载库内为每一应用程序组件创建目标缓存文件夹。在进行图片数据缓存时,获取每一应用程序组件的命名空间信息得到目标命名空间信息,根据目标命名空间信息在管理类数据结构中的候选命名空间信息中筛选出选定命名空间信息,再根据选定命名空间信息获取对应的管理类数据是否为空值,若选定命名空间信息对应管理类数据为控制,确定管理类查找结果为不存在与目标命名空间信息相同的候选管理类。若存在选定命名空间信息对应的管理类数据,确定管理类查找结果为存在与目标命名空间信息相同的候选管理类。若管理类查找结果表征为不存在与目标命名空间信息相同的候选管理类,表征没有应用程序组件设置创建过目标命名空间信息对应的管理类,基于目标命名空间信息进行管理类创建得到目标管理类。若管理类查找结果表征为存在与目标命名空间信息相同的候选管理类,表征其他应用程序组件已创建了目标命名空间信息对应的候选管理类。接收来自目标应用反馈的缓存管理反馈信息,且缓存管理反馈信息包括更新命名空间信息和合并管理信息。根据缓存管理反馈信息为更新命名空间信息创建新的管理类作为目标管理类,根据缓存管理反馈信息为合并管理信息将已查找到的候选管理类作为目标管理类,由目标管理类合并管理多个应用程序组件的图片数据缓存。完成目标管理类创建之后,获取发起图片缓存请求的目标管理类的管理类数据作为目标类数据,根据目标类数据对至少应用程序组件进行筛选处理得到目标程序组件。基于接口适配器将目标程序组件的目标缓存文件夹发送给图片下载器,也即将目标缓存文件夹的存储路径发送给图片下载器,以便于图片下载器将目标图片数据缓存至目标缓存文件夹。因此,通过在图片数据缓存之前,设置不同的目标缓存文件隔离存放不同应用程序组件的图片数据,且在图片数据缓存时,根据不同应用程序组件的管理类数据针对性地将图片数据缓存至对应的目标缓存文件夹,实现图片数据隔离式缓存,减少不同应用程序组件之间的图片数据干扰,提升目标应用的开发效率和稳定性。
请参阅图10,本申请实施例还提供一种图片数据缓存装置,可以实现上述图片数据缓存方法,用于目标应用的图片缓存,目标应用安装于图片加载库,目标应用包括至少两个应用程序组件;图片数据缓存装置包括:
原始数据获取模块1001,用于获取来源于至少两个应用程序组件的图片数据,得到原始图片数据;
文件夹创建模块1002,用于基于预先获取到的存储路径信息,在图片加载库中为每一应用程序组件创建目标缓存文件夹;
管理类数据获取模块1003,用于获取每一应用程序组件的管理类数据;
数据筛选模块1004,用于基于预设的接口适配器从管理类数据筛选出目标类数据;
组件筛选模块1005,用于基于目标类数据从至少两个应用程序组件筛选出目标程序组件;
目标数据获取模块1006,用于获取目标程序组件的原始图片数据得到目标图片数据;
数据缓存模块1007,用于将目标图片数据缓存至所述目标缓存文件夹。
该图片数据缓存装置的具体实施方式与上述图片数据缓存方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述图片数据缓存方法。该计算机设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图11,图11示意了另一实施例的计算机设备的硬件结构,计算机设备包括:
处理器1101,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1102,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1102可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1102中,并由处理器1101来调用执行本申请实施例的图片数据缓存方法;
输入/输出接口1103,用于实现信息输入及输出;
通信接口1104,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1105,在设备的各个组件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传输信息;
其中处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述图片数据缓存方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的图片数据缓存方法和装置、计算机设备和存储介质,其通过在应用程序组件上安装有图片加载库,在应用程序组件进行图片数据缓存之前,提前创建了每一应用程序组件的目标缓存文件夹,以通过目标缓存文件夹将图片数据隔离存放。在应用程序组件进行图片数据缓存时,基于接口适配器从管理类数据中筛选出目标管理类数据,再基于目标管理类数据从至少两个应用程序组件中筛选出目标程序组件,以将目标程序组件的原始图片数据作为目标图片数据缓存至目标缓存文件,以使图片数据缓存过程中也是隔离且精准控制的方式缓存,减少不同应用程序组件的图片数据在缓存过程中的干扰,提高了目标应用的开发效率和稳定性。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种图片数据缓存方法,其特征在于,用于目标应用的图片缓存,所述目标应用安装有图片加载库,所述目标应用包括至少两个应用程序组件;所述方法包括:
获取来源于所述至少两个应用程序组件的图片数据,得到原始图片数据;
基于预先获取到的存储路径信息,在所述图片加载库中为每一所述应用程序组件创建目标缓存文件夹;
获取每一所述应用程序组件的管理类数据;
基于预设的接口适配器从所述管理类数据筛选出目标类数据;
基于所述目标类数据从所述至少两个应用程序组件筛选出目标程序组件;
获取所述目标程序组件的所述原始图片数据得到目标图片数据;
将所述目标图片数据缓存至所述目标缓存文件夹。
2.根据权利要求1所述的方法,其特征在于,所述获取每一所述应用程序组件的管理类数据,包括:
获取每一所述应用程序组件的管理类创建数据;其中,所述管理类创建数据包括:目标命名空间信息;
对所述目标命名空间信息进行管理类创建,得到每一所述应用程序组件的目标管理类;
调用所述目标管理类,通过所述目标管理类获取所述应用程序组件的所述管理类数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标命名空间信息进行管理类创建,得到每一所述应用程序组件的目标管理类,包括:
根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果;
若所述管理类查找结果表征为不存在与所述目标命名空间信息相同的候选管理类,根据所述目标命名空间信息进行管理类创建,得到所述目标管理类;
若所述管理类查找结果表征为存在与所述目标命名空间信息相同的候选管理类,向所述目标应用推送缓存管理提示信息以接收缓存管理反馈信息,并根据所述缓存管理反馈信息进行管理类创建,得到所述目标管理类。
4.根据权利要求3所述的方法,其特征在于,所述若所述管理类查找结果表征为存在与所述目标命名空间信息相同的候选管理类,向所述目标应用推送缓存管理提示信息以接收缓存管理反馈信息,并根据所述缓存管理反馈信息进行管理类创建,得到所述目标管理类,包括:
若所述管理类查找结果表征为存在与所述目标命名空间信息相同的所述候选管理类,向所述目标应用推送缓存管理提示信息;
接收所述目标应用根据所述缓存管理提示信息反馈的缓存管理反馈信息;其中,所述缓存管理反馈信息包括以下任意一种:更新命名空间信息和合并管理信息;
若所述缓存管理反馈信息为所述更新命名空间信息,根据所述更新命名空间信息进行管理类创建,得到所述目标管理类;
若所述缓存管理反馈信息为所述合并管理信息,将所述管理类数据结构中与所述目标命名空间信息相同的所述候选管理类作为所述目标管理类。
5.根据权利要求3所述的方法,其特征在于,在所述根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果之前,所述方法还包括:
创建管理类数据结构,具体包括:
获取所述候选管理类的管理类创建信息;其中,所述管理类创建信息包括:候选命名空间信息和管理类数据;
将所述候选命名空间信息作为预设数据结构的键,将所述管理类数据作为所述预设数据结构的值,得到所述管理类数据结构。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标命名空间信息在预设的管理类数据结构中进行管理类查找,得到管理类查找结果,包括:
根据所述目标命名空间信息对所述候选命名空间信息进行筛选处理,得到选定命名空间信息;
根据所述选定命名空间信息对所述管理类数据进行筛查处理,得到所述管理类查找结果。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述将所述目标图片数据缓存至所述目标缓存文件夹之后,所述方法还包括:
获取所述目标缓存文件中所述目标图片数据的使用频率,得到图片使用频率;
根据预设的使用频率阈值和所述图片使用频率从所述目标缓存文件中提取出选定图片数据;
根据预设的定期清理周期对所述目标缓存文件夹进行占用空间计算,得到已占用空间值;
当所述已占用空间值达到预设的限额清理阈值时,对所述选定图片数据进行清理。
8.一种图片数据缓存装置,其特征在于,用于目标应用的图片缓存,所述目标应用安装于图片加载库,所述目标应用包括至少两个应用程序组件;所述装置包括:
原始数据获取模块,用于获取来源于所述至少两个应用程序组件的图片数据,得到原始图片数据;
文件夹创建模块,用于基于预先获取到的存储路径信息,在所述图片加载库中为每一所述应用程序组件创建目标缓存文件夹;
管理类数据获取模块,用于获取每一所述应用程序组件的管理类数据;
数据筛选模块,用于基于预设的接口适配器从所述管理类数据筛选出目标类数据;
组件筛选模块,用于基于所述目标类数据从所述至少两个应用程序组件筛选出目标程序组件;
目标数据获取模块,用于获取所述目标程序组件的所述原始图片数据得到目标图片数据;
数据缓存模块,用于将所述目标图片数据缓存至所述目标缓存文件夹。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的图片数据缓存方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的图片数据缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395356.5A CN117421285A (zh) | 2023-10-25 | 2023-10-25 | 图片数据缓存方法和装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395356.5A CN117421285A (zh) | 2023-10-25 | 2023-10-25 | 图片数据缓存方法和装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117421285A true CN117421285A (zh) | 2024-01-19 |
Family
ID=89529768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311395356.5A Pending CN117421285A (zh) | 2023-10-25 | 2023-10-25 | 图片数据缓存方法和装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117421285A (zh) |
-
2023
- 2023-10-25 CN CN202311395356.5A patent/CN117421285A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10827036B2 (en) | Version control machine | |
JP2020507162A5 (zh) | ||
CN105900121B (zh) | 用于生成活动流的方法 | |
US8863075B2 (en) | Automated support for distributed platform development | |
US9842123B2 (en) | Dynamic, parameterized image resource selection | |
US20130166678A1 (en) | Smart Suggestions Engine for Mobile Devices | |
CN111444181B (zh) | 知识图谱更新方法、装置及电子设备 | |
US20170146980A1 (en) | Method and system of dynamically configuring functions of machine | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
CN109947985B (zh) | 应用于在线系统中的神经网络处理方法及装置 | |
CN110895534A (zh) | 一种数据拼接方法、装置、介质及电子设备 | |
CN117472965A (zh) | 数据库数据查询方法和装置、电子设备及存储介质 | |
US20150106899A1 (en) | System and method for cross-cloud identity matching | |
CN111753141B (zh) | 一种数据管理方法及相关设备 | |
CN110618814A (zh) | 数据可视化方法、装置、电子设备及计算机可读存储介质 | |
CN117435999A (zh) | 一种风险评估方法、装置、设备以及介质 | |
US9542457B1 (en) | Methods for displaying object history information | |
CN116643814A (zh) | 模型库构建方法、基于模型库的模型调用方法和相关设备 | |
CN117421285A (zh) | 图片数据缓存方法和装置、计算机设备和存储介质 | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN107193891B (zh) | 内容推荐方法及装置 | |
CN109683939A (zh) | 组件对象更新方法、装置以及存储介质 | |
US20160132555A1 (en) | Merging data analysis paths | |
CN116820354B (zh) | 数据存储方法、数据存储装置和数据存储系统 | |
Brahmia et al. | Implicit JSON Schema Versioning Triggered by Temporal Updates to JSON-Based Big Data in the τJSchema Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |