安卓系统数据回收的方法、存储介质、电子设备及系统技术方案

技术编号:19424825 阅读:17 留言:0更新日期:2018-11-14 10:30
本发明专利技术公开了一种安卓系统数据回收的方法、存储介质、电子设备及系统,涉及安卓系统开发技术领域,本发明专利技术设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在内存空间中;将内存空间扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间。首先,寄存器的读写速度显著快于内存,因而数据指针将快速的在初始缓存空间中被缓存和被回收;其次,无须遍历所有缓存中的数据进行数据回收,而是仅回收初始缓存空间和第一缓存空间中的无用数据指针对应的数据,数据回收量远小于传统方案,实现有效的对数据进行管理及回收,极大的提高了数据回收效率。

【技术实现步骤摘要】
安卓系统数据回收的方法、存储介质、电子设备及系统
本专利技术涉及安卓系统开发
,具体涉及一种安卓系统数据回收的方法、存储介质、电子设备及系统。
技术介绍
在Android开发过程中程序的执行需要依赖数据的驱动,传统开发过程中的数据管理是交给系统来进行回收和处理的。交给系统回收和处理的数据如果处理不当可能会出现回收不及时或者回收慢等情况,这样就会在某些情况下导致内存长期居高不下,严重的时候可能会产生内存越界的异常。传统的方案的回收算法设计比较简单,就是单纯的遍历整个指针容器空间,然后根据遍历到的指针信息找到对应数据,判定数据是否有引用关系,如果没有引用关系就直接进行回收,如果有引用关系就不进行回收。这种策略会比较慢,并且每次需要遍历所有的数据缓存,会降低回收效率。同时,数据的回收需要有一个定期回收的机制,传统的回收机制是通过定时器来实现周期性的回收,这种回收策略单内存占用不是很高的时候不断的对数据进行回收处理,这样会降低系统性能,极大的损耗了系统的资源开销,增加了功耗开销等。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种安卓系统数据回收的方法、存储介质、电子设备及系统,能够有效的对数据进行管理及回收,极大的提高了数据回收效率。为达到以上目的,本专利技术采取的技术方案是一种安卓系统数据回收的方法,包括以下步骤:S1,设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;S2,对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;S3,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;S4,所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。在上述技术方案的基础上,其中所述第三缓存空间大小为所述第一缓存空间的三倍,所述第二缓存空间大小为所述第一缓存空间的两倍。在上述技术方案的基础上,每当内存开销大于预设阈值时,触发数据回收。在上述技术方案的基础上,步骤S3具体包括:S301,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;S302,当再次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动和所述第三缓存空间中的数据指针合并后移动至所述第二缓存空间;S303,当再一次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;再次触发数据指针回收的时,将所述第三缓存空间和所述第二缓存空间中的数据指针合并后移动至所述第一缓存空间;S304,重复步骤S301至S304,直至所述第一缓存空间、第二缓存空间和第三缓存空间依次被填满。本专利技术还公开了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的安卓系统数据回收的方法。本专利技术还公开了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的安卓系统数据回收的方法。本专利技术还公开了一种安卓系统数据回收的系统,包括:数据指针保存模块,其用于设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;数据指针扩容模块,其用于对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;数据指针回收模块,其用于当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。在上述技术方案的基础上,所述第三缓存空间大小为所述第一缓存空间的三倍,所述第二缓存空间大小为所述第一缓存空间的两倍。在上述技术方案的基础上,所述数据指针回收模块还用于每当内存开销大于预设阈值时,触发数据回收。在上述技术方案的基础上,所述数据指针回收模块具体用于:当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;当再次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动和所述第三缓存空间中的数据指针合并后移动至所述第二缓存空间;当再一次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;再次触发数据指针回收的时,将所述第三缓存空间和所述第二缓存空间中的数据指针合并后移动至所述第一缓存空间;重复上述步骤,直至所述第一缓存空间、第二缓存空间和第三缓存空间依次被填满。与现有技术相比,本专利技术的优点在于:本专利技术设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在内存空间中;并对内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,初始缓存空间大小等同于第三缓存空间。首先,寄存器的读写速度显著快于内存,因而数据指针将快速的在初始缓存空间中被缓存和被回收;其次,数据回收时无须遍历所有缓存中的数据进行数据回收,而是仅回收初始缓存空间和第一缓存空间中的无用数据指针对应的数据,能够极大的提高数据回收时候的遍历速度,且数据回收量远小于传统方案,实现有效的对数据进行管理及回收,极大的提高了数据回收效率。本方案摒弃了传统方案中的弊端将定期周期性的数据回收策略改成了内存阈值策略,本文档来自技高网...

【技术保护点】
1.一种安卓系统数据回收的方法,其特征在于,包括以下步骤:S1,设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;S2,对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;S3,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;S4,所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。

【技术特征摘要】
1.一种安卓系统数据回收的方法,其特征在于,包括以下步骤:S1,设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;S2,对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;S3,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;S4,所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。2.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:其中所述第三缓存空间大小为所述第一缓存空间的三倍,所述第二缓存空间大小为所述第一缓存空间的两倍。3.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:每当内存开销大于预设阈值时,触发数据回收。4.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:步骤S3具体包括:S301,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;S302,当再次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动和所述第三缓存空间中的数据指针合并后移动至所述第二缓存空间;S303,当再一次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;再次触发数据指针回收的时,将所述第三缓存空间和所述第二缓存空间中的数据指针合并后移动至所述第一缓存空间;S304,重复步骤S301至S304,直至所述第一缓存空间、第二缓存空间和第三缓存空间依次被填满。5.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。6.一种电子设备,包括存...

【专利技术属性】
技术研发人员:张磊张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1