[发明专利]一种内存自动快照的方法及装置在审

专利信息
申请号: 201710570585.4 申请日: 2017-07-13
公开(公告)号: CN107480047A 公开(公告)日: 2017-12-15
发明(设计)人: 刘马良;张强;李星;刘鼎三;彭元龙;周诚 申请(专利权)人: 珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司
主分类号: G06F11/36 分类号: G06F11/36;G06F11/34
代理公司: 广州嘉权专利商标事务所有限公司44205 代理人: 俞梁清
地址: 519000 广东省珠*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 自动 快照 方法 装置
【说明书】:

技术领域

发明涉及移动设备领域,特别是涉及一种基于内部应用的移动设备分配与管理的方法和装置。

背景技术

在智能手机行业,随着手机游戏的市场占有率越来越高,大部分的知名游戏开发公司都在手机游戏开发投入了较多的技术研发。在手机游戏的开发过程中,降低手机游戏的内存占用率一直都是手机应用开发人员较为关心的点之一。若游戏运行过程中占用内存过多,可能会被操作系统认定为异常进程而直接关闭,也可能会因占用过多导致系统内存,使得系统性能降低,从而令游戏体验下降。

Unity作为一种广泛应用的手机游戏开发引擎,采用Mono平台作为其C#虚拟机,且分配释放内存都使用Mono平台中的相关接口,因此能够优化内存占用,从而提升游戏性能。由于Mono平台从操作系统中分配内存块并形成内存池后,不会释放内存到操作系统,因此Mono平台分配的内存是只增不减的。鉴于上述原因,手机应用开发人员需要一套内存状况的监测工具,获取当前时刻游戏程序从操作系统分配所得的内存快照,一方面可以方便地定位新增内存分配的原因,并针对性地优化手机游戏的内存占用,提升性能;另一方面,也可以通过对比前后多个内存快照,定位程序运行过程中的内存泄露问题。

发明内容

本发明的目的是解决现有技术的不足,提供一种内存自动快照的方法及装置,旨在解决检测整个手机游戏运行期间的内存分配状况的问题。

为了实现上述目的,本发明提出一种内存自动快照的方法,用于安卓智能手机中基于Unity引擎开发的程序,包括如下步骤:

S100)初始化内存快照记录及内存快照记录列表,其中设置当前内存快照记录的所分配内存总大小为零,并将上述内存快照记录存放到内存快照记录列表;

S200)通过监视Unity引擎的Mono平台向操作系统分配内存的函数,获取Mono平台从操作系统新增内存分配通知;

S300)根据接收到的从操作系统新增内存分配的通知,计算当前Mono平台从系统分配的内存总大小;

S400)计算当前时刻分配的内存总大小及前次内存快照记录的分配内存总大小之差值;

S500)根据该差值和/或当前时刻与前次内存快照记录时刻的间隔自动生成当前内存快照记录,并将该当前内存快照记录存放在内存快照记录列表;

S600)若测试完毕,则执行步骤S700,否则跳转执行步骤S200;

S700)输出所述内存快照记录列表。

在本发明的上述方法中,实现该方法的功能代码通过进程注入的方式监视待测试游戏程序的进程。

在本发明的上述方法中,该步骤S500中只有该差值大于指定值时,自动生成当前内存快照记录,并将当前该内存快照记录存放到内存快照记录列表。

优选地,该指定值在开始测试前设定。

在本发明的上述方法中,该步骤S500中在指定时刻间隔内至少自动生成一次内存快照记录,并将该内存快照记录存放到内存快照记录列表。

优选地,该指定时刻间隔在开始测试前设定。

在本发明的上述方法中,该内存快照记录列表可以按照该内存快照记录形成的时间或该内存快照记录的内存增量大小顺序输出。

在本发明的上述方法中,该内存快照记录列表的该内存快照记录的信息至少包括对象数目和对象存储位置。

本发明也提出了一种内存自动快照的装置,用于安卓智能手机中基于Unity引擎开发的程序,包括以下模块:

启动模块,用于初始化内存快照记录及内存快照记录列表,其中设置当前内存快照记录的所分配内存总大小为零,并将上述内存快照记录存放到内存快照记录列表;

接收模块,用于通过监视Unity引擎的Mono平台向操作系统分配内存的函数,获取Mono平台从操作系统新增内存分配通知;

记录模块,用于计算当前时刻分配的内存总大小及前次内存快照记录的分配内存总大小之差值的装置;

判断模块,用于根据该差值和/或当前时刻与前次内存快照记录时刻的间隔自动生成当前内存快照记录,并将该当前内存快照记录存放到内存快照记录列表;

输出模块,用于在测试完毕后输出内存快照记录列表。

在本发明的上述装置中,该装置是通过进程注入的方式注入到待测试游戏程序的进程。

在本发明的上述装置中,该判断模块只有在该差值大于指定值时,自动生成当前内存快照记录,并将该当前内存快照记录存放到内存快照记录列表。

优选地,该指定值在开始测试前设定。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710570585.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top