[发明专利]分析内存占用状况的方法、装置、存储介质及计算机设备有效
| 申请号: | 202110661596.X | 申请日: | 2021-06-15 |
| 公开(公告)号: | CN113360343B | 公开(公告)日: | 2022-08-16 |
| 发明(设计)人: | 张青阳 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
| 主分类号: | G06F11/30 | 分类号: | G06F11/30 |
| 代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 远明 |
| 地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分析 内存 占用 状况 方法 装置 存储 介质 计算机 设备 | ||
1.一种分析内存占用状况的方法,其特征在于,包括:
获取预设数量的对象;
当按照预设帧率刷新客户端的游戏画面时,在所述预设帧率对应的当前一帧时长内分析所述预设数量的对象的内存占用情况;
若在所述当前一帧时长内尚未全部完成对所述预设数量的对象的内存占用情况的分析,则在所述当前一帧的后续帧时长内分析所述预设数量中剩余对象的内存占用情况,直至全部完成对所述预设数量的对象的内存占用情况的分析。
2.如权利要求1所述分析内存占用状况的方法,其特征在于,所述在所述预设帧率对应的当前一帧时长内分析所述预设数量的对象的内存占用情况,包括:
步骤S1-1:在所述预设帧率的当前一帧时长内,将n个对象压入栈的栈顶,所述n个对象为所述预设数量的部分对象或全部对象,所述n为自然数;
步骤S1-2:弹出栈顶对象,所述栈顶对象为位于所述栈的顶部的对象;
步骤S1-3:调用预设函数,逐个计算从所述栈顶弹出的n个对象、所述n个对象任意一个子对象的内存以及所述n个对象任意一个子对象及其子对象的内存之和。
3.如权利要求2所述分析内存占用状况的方法,其特征在于,所述在所述预设帧率对应的当前一帧时长内,将n个对象压入栈的栈顶,包括:
初始化给定队列,得到已初始化队列;
将所述n个对象中每一个对象及其子对象存入所述已初始化队列;
在将所述n个对象中每一个对象及其子对象存入所述已初始化队列的同时,将所述初始化队列的队首对象压入所述栈顶,直至所述已初始化队列重新为空。
4.如权利要求3所述分析内存占用状况的方法,其特征在于,所述将所述n个对象中每一个对象及其子对象存入所述已初始化队列,包括:
对于所述n个对象中任意一个树结构的对象Oi,将所述对象Oi本身作为根节点存入所述已初始化队列;
当所述对象Oi本身从所述已初始化队列出列时,将所述对象Oi的子对象按照如下第一原则存入所述已初始化队列:1)所述对象Oi的所有子对象中距离所述根节点越近的子对象越先存入所述已初始化队列;2)所述树结构中同一层次的对象越先存入所述已初始化队列的,其子对象亦越先存入所述已初始化队列;
当所述对象Oi的任意一个子对象Oij从所述已初始化队列出列时,将所述子对象Oij的子对象按照如下第二原则存入所述已初始化队列:1)将所述子对象Oij作为所述子对象Oij所有子对象的父节点,所述子对象Oij所有子对象中距离所述父节点越近的子对象越先存入所述已初始化队列;2)所述父节点以下同一层次的对象越先存入所述已初始化队列的,其子对象亦越先存入所述已初始化队列。
5.如权利要求1所述分析内存占用状况的方法,其特征在于,所述在所述预设帧率对应的当前一帧时长内分析所述预设数量的对象的内存占用情况,包括:
步骤S2-1:在所述预设帧率的当前一帧时长内,将n个对象压入栈的栈顶,所述n个对象为所述预设数量的部分对象或全部对象,所述n为自然数;
步骤S2-2:读取栈顶对象,所述栈顶对象为位于所述栈的顶部的对象;
步骤S2-3:根据所述栈顶对象的状况或所述栈顶对象的子对象是否已经被计算过内存,通过对所述栈顶进行再操作,分析所述预设数量的对象的内存占用情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110661596.X/1.html,转载请声明来源钻瓜专利网。





