数据存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32674329 阅读:14 留言:0更新日期:2022-03-17 11:29
本公开涉及一种数据存储方法、装置、电子设备及存储介质,该方法包括:获取应用程序运行时的待存储数据;判断所述待存储数据的数据量是否大于预设数据量阈值;若是,使用第一存储组件中的第一存储单元存储所述待存储数据;若否,使用第一存储组件中的第二存储单元存储所述待存储数据,其中,所述第一存储组件在所述应用程序启动时替换第二存储组件得到,所述第二存储组件的存储方式与所述第二存储单元的存储方式相同。本公开可以在应用程序运行的过程中,根据待存储数据的数据量大小动态切换不同的存储单元对待存储数据进行存储,能够实现不同数据的可靠存储,且避免数据量过大造成的系统崩溃,提高电子设备的整体存储性能。提高电子设备的整体存储性能。提高电子设备的整体存储性能。

【技术实现步骤摘要】
数据存储方法、装置、电子设备及存储介质


[0001]本公开涉及数据处理
,具体涉及一种数据存储方法、装置、电子设备及存储介质。

技术介绍

[0002]Android原生系统的Sharedpreferences(SP)组件用于本地存储key

value(键值对),键值对通常以XML(Extensible Markup Language,可扩展标记语言)文件的形式进行存储,存储方便且存取速率快,但是,Sharedpreferences组件通常适用于轻量型数据的存储,对于大数据其存储性能较差,特别是当单次存入的数据量过大时可能会存在数据丢失或导致系统崩溃。

技术实现思路

[0003]本公开实施例提供了一种数据存储方法、装置、电子设备及存储介质,能够解决现有技术中利用Sharedpreferences组件进行大数据存储时性能较差的技术问题。
[0004]根据本公开的方案之一,提供一种数据存储方法,包括:
[0005]获取应用程序运行时的待存储数据;
[0006]判断所述待存储数据的数据量是否大于预设数据量阈值;
[0007]若是,使用第一存储组件中的第一存储单元存储所述待存储数据;若否,使用第一存储组件中的第二存储单元存储所述待存储数据,其中,所述第一存储组件在所述应用程序启动时替换第二存储组件得到,所述第二存储组件的存储方式与所述第二存储单元的存储方式相同。
[0008]在一些实施例中,在所述应用程序启动时,使用所述第一存储组件替换所述第二存储组件,包括:
[0009]在所述应用程序启动时,获取所述应用程序的application对象实例;
[0010]基于所述application对象实例通过反射机制获取所述应用程序的第二存储组件;
[0011]使用所述第一存储组件替换所述第二存储组件。
[0012]在一些实施例中,基于所述application对象实例通过反射机制获取所述应用程序的第二存储组件,包括:
[0013]基于所述application对象实例获取所述应用程序的包名;
[0014]基于所述应用程序的包名从预设的存储变量中获取所述应用程序对应的第二存储组件,其中,所述预设的存储变量中以map结构存储有多个应用程序的包名和对应的第二存储组件。
[0015]在一些实施例中,使用所述第一存储组件替换所述第二存储组件,包括:
[0016]将所述第二存储组件的第二存储实例确定为所述第二存储单元;
[0017]将包含第一存储实例的所述第一存储单元添加至所述第二存储组件中,形成所述
第一存储组件。
[0018]在一些实施例中,所述方法还包括:
[0019]基于所述应用程序创建自定义的第一存储实例;
[0020]在所述应用程序的编译阶段,对所述第一存储实例进行封装,得到所述第一存储单元。
[0021]在一些实施例中,所述方法还包括:
[0022]在所述应用程序的编译阶段,对所述第一存储实例和所述第二存储组件对应的第二存储实例进行封装,得到所述第一存储组件;
[0023]在所述应用程序启动时,使用所述第一存储组件替换所述第二存储组件。
[0024]在一些实施例中,所述第一存储组件为SharedPreferences组件,所述第一存储单元以文件和/或数据库的形式存储所述待存储数据,所述第二存储单元以xml的形式存储所述待存储数据。
[0025]根据本公开的方案之一,还提供一种数据存储装置,包括:
[0026]获取模块,配置为获取应用程序运行时的待存储数据;
[0027]判断模块,配置为判断所述待存储数据的数据量是否大于预设数据量阈值;
[0028]存储模块,配置为若所述待存储数据的数据量大于预设数据量阈值,使用第一存储组件中的第一存储单元存储所述待存储数据;若所述待存储数据的数据量不大于所述预设数据量阈值,使用第一存储组件中的第二存储单元存储所述待存储数据,其中,所述第一存储组件在所述应用程序启动时替换第二存储组件得到,所述第二存储组件的存储方式与所述第二存储单元的存储方式相同。
[0029]根据本公开的方案之一,还提供一种电子设备,包括处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令时实现如上所述的数据存储方法。
[0030]根据本公开的方案之一,还提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现如上所述的数据存储方法。
[0031]本公开的各种实施例提供的数据存储方法、装置、电子设备及存储介质,通过在应用程序启动时将原生的第二存储组件替换为既包含原生存储方式又包含新的大数据存储方式的第一存储组件,可以在应用程序运行的过程中,实时根据待存储数据的数据量大小选择第一存储组件中对应的存储单元对待存储数据进行存储,能够实现不同数据的可靠存储,且能够避免数据量过大造成的系统崩溃,保证应用程序的顺利运行,提高电子设备的整体存储性能,并提高用户体验。
附图说明
[0032]图1示出本公开实施例的数据存储方法的流程图;
[0033]图2示出本公开实施例的数据存储方法的另一流程图;
[0034]图3示出本公开实施例的数据存储方法的又一流程图;
[0035]图4示出本公开实施例的数据存储方法的再一流程图;
[0036]图5示出本公开实施例的数据存储装置的结构示意图;
[0037]图6示出本公开实施例的电子设备的结构示意图。
具体实施方式
[0038]此处参考附图描述本公开的各种方案以及特征。
[0039]应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
[0040]包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
[0041]通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特性将会变得显而易见。
[0042]还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式。
[0043]当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
[0044]此后参照附图描述本公开的具体实施例;然而,应当理解,所申请的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,包括:获取应用程序运行时的待存储数据;判断所述待存储数据的数据量是否大于预设数据量阈值;若是,使用第一存储组件中的第一存储单元存储所述待存储数据;若否,使用第一存储组件中的第二存储单元存储所述待存储数据,其中,所述第一存储组件在所述应用程序启动时替换第二存储组件得到,所述第二存储组件的存储方式与所述第二存储单元的存储方式相同。2.根据权利要求1所述的方法,其中,在所述应用程序启动时,使用所述第一存储组件替换所述第二存储组件,包括:在所述应用程序启动时,获取所述应用程序的application对象实例;基于所述application对象实例通过反射机制获取所述应用程序的第二存储组件;使用所述第一存储组件替换所述第二存储组件。3.根据权利要求2所述的方法,其中,基于所述application对象实例通过反射机制获取所述应用程序的第二存储组件,包括:基于所述application对象实例获取所述应用程序的包名;基于所述应用程序的包名从预设的存储变量中获取所述应用程序对应的第二存储组件,其中,所述预设的存储变量中以map结构存储有多个应用程序的包名和对应的第二存储组件。4.根据权利要求2所述的方法,其中,使用所述第一存储组件替换所述第二存储组件,包括:将所述第二存储组件的第二存储实例确定为所述第二存储单元;将包含第一存储实例的所述第一存储单元添加至所述第二存储组件中,形成所述第一存储组件。5.根据权利要求2所述的方法,其中,所述方法还包括:基于所述应用程序创建自定义的第一存储实例;在所述应用程序的编译阶段,...

【专利技术属性】
技术研发人员:赵博
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1