[发明专利]一种数组规整方法、装置、终端及可读介质有效
申请号: | 201811151587.0 | 申请日: | 2018-09-29 |
公开(公告)号: | CN109408491B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 张磊 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/2458 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 430070 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数组 规整 方法 装置 终端 可读 介质 | ||
本发明实施例公开了一种数组规整方法、装置、终端及可读介质,其中该方法包括:根据接收的规整指令确定剩余内存,根据剩余内存以及目标数组的数组长度确定迁移数组的数组长度,并定义迁移数组;轮询扫描目标数组,并将扫描获取的非空数据信息存储至迁移数组中;根据扫描进度以及迁移数组的存储状态,将迁移数组内数据信息迁移至链表对象中;当扫描结束时,将获取到的链表对象中的数据信息存储至临时数组中;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中。本发明实施例提供的一种数组规整方法、装置、终端及可读介质,实现了数组规整,减少了数组规整耗时,提高了数组规整效率。
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数组规整方法、装置、终端及可读介质。
背景技术
当Android终端中数组内数据为有序数据时,常需要将数组进行规整化处理,以方便对有序数据进行读取等操作。其中,规整化处理可以理解为将有序数据按数组的索引序号为0、1、2...n的顺序依次存储至数组,保证有序数据间没有空数据,且放置在数组前端,空余位置位于数组后端的处理操作。目前,常用的数组规整方法为,对数组内数据进行一一迁移。这种大批量数据一一迁移的操作耗时较长,速度较慢,从而导致数组规整效率较低。
发明内容
有鉴于此,本发明实施例提供了一种数组规整方法、装置、终端及可读介质,减少了数组规整耗时,提高了数组规整效率。
第一方面,本发明实施例提供了一种数组规整方法,包括:
接收规整指令,根据所述规整指令确定剩余内存,根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度,根据迁移数组的数组长度定义迁移数组;
对目标数组的起始位置至终止位置依次进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至迁移数组中;
根据目标数组的扫描进度以及迁移数组的存储状态,将迁移数组内数据信息迁移至链表对象中,并将目标数组内已完成扫描的扫描位置的数据信息清除;
当目标数组扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;
当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。
可选的,所述根据所述规整指令确定剩余内存,包括:
根据所述规整指令获取ActivityManager对象,调用ActivityManager对象的内存信息对象获取方法获取内存信息对象;
调用内存信息对象的可用内存获取方法获取可用内存,调用内存信息对象的总内存获取方法获取总内存,根据可用内存以及总内存确定剩余内存。
可选的,所述根据所述剩余内存以及目标数组的数组长度确定迁移数组的数组长度,包括:
当剩余内存大于等于内存阈值时,将目标数组的数组长度作为迁移数组的数组长度;
当剩余内存小于内存阈值时,将所述剩余内存的预设比例的内存空间作为迁移数组的数组长度。
可选的,所述对目标数组的起始位置至终止位置依次进行扫描,包括:
对目标数组的索引序号为0的位置至索引序号为目标数组长度减1的位置依次进行扫描。
可选的,所述根据目标数组的扫描进度以及迁移数组的存储状态,将迁移数组内数据信息迁移至链表对象中,包括:
当迁移数组存储满时,获取迁移数组内数据信息,调用链表对象的添加方法将迁移数组内数据信息添加至链表对象中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811151587.0/2.html,转载请声明来源钻瓜专利网。