利索能及
我要发布
收藏
专利号: 2018102841137
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种安卓系统数据回收的方法,其特征在于,包括以下步骤:

S1,设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;

S2,对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;

S3,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;

S4,所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。

2.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:其中所述第三缓存空间大小为所述第一缓存空间的三倍,所述第二缓存空间大小为所述第一缓存空间的两倍。

3.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:每当内存开销大于预设阈值时,触发数据回收。

4.如权利要求1所述的一种安卓系统数据回收的方法,其特征在于:步骤S3具体包括:

S301,当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;

S302,当再次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;

当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动和所述第三缓存空间中的数据指针合并后移动至所述第二缓存空间;

S303,当再一次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;再次触发数据指针回收的时,将所述第三缓存空间和所述第二缓存空间中的数据指针合并后移动至所述第一缓存空间;

S304,重复步骤S301至S304,直至所述第一缓存空间、第二缓存空间和第三缓存空间依次被填满。

5.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。

6.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至4任一项所述的方法。

7.一种安卓系统数据回收的系统,其特征在于,包括:

数据指针保存模块,其用于设置一个连续的内存空间用于存储离散的数据指针,将离散的数据指针采用连续的方式存储在所述内存空间中;

数据指针扩容模块,其用于对所述内存空间进行扩容,扩容为空间大小依次递增的第一缓存空间、第二缓存空间和第三缓存空间,再在寄存器中设置一个初始缓存空间,所述初始缓存空间与所述第三缓存空间大小相同;

数据指针回收模块,其用于当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针依次填满所述第一缓存空间、第二缓存空间和第三缓存空间;所述第一缓存空间、第二缓存空间和第三缓存空间均填满后,当触发数据回收,先将所述初始缓存空间和所述第一缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将数据指针逐级移动以依次填满所述第一缓存空间、第二缓存空间和第三缓存空间。

8.如权利要求7所述的一种安卓系统数据回收的系统,其特征在于:所述第三缓存空间大小为所述第一缓存空间的三倍,所述第二缓存空间大小为所述第一缓存空间的两倍。

9.如权利要求7所述的一种安卓系统数据回收的系统,其特征在于:所述数据指针回收模块还用于每当内存开销大于预设阈值时,触发数据回收。

10.如权利要求7所述的一种安卓系统数据回收的系统,其特征在于:所述数据指针回收模块具体用于:当有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;

当再次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动和所述第三缓存空间中的数据指针合并后移动至所述第二缓存空间;

当再一次有数据需要缓存时,先将数据对应的数据指针保存在所述初始缓存空间;当触发数据回收时,先将所述初始缓存空间中无用的数据指针回收,后将被回收的数据指针对应的数据回收;再将没有被回收的数据指针移动至所述第三缓存空间;再次触发数据指针回收的时,将所述第三缓存空间和所述第二缓存空间中的数据指针合并后移动至所述第一缓存空间;

重复上述步骤,直至所述第一缓存空间、第二缓存空间和第三缓存空间依次被填满。