[发明专利]一种获取手机应用内存快照和内存分配堆栈的方法及装置在审

专利信息
申请号: 201710331302.0 申请日: 2017-05-11
公开(公告)号: CN107277226A 公开(公告)日: 2017-10-20
发明(设计)人: 刘马良;张强;赖炳新;杨明邦;李星;李邦戈 申请(专利权)人: 珠海金山网络游戏科技有限公司;成都西山居互动娱乐科技有限公司
主分类号: H04M1/725 分类号: H04M1/725;G06F12/02
代理公司: 广州嘉权专利商标事务所有限公司44205 代理人: 俞梁清
地址: 519000 广东省珠*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 获取 手机 应用 内存 快照 分配 堆栈 方法 装置
【说明书】:

技术领域

发明涉及手机应用优化领域,尤其涉及一种获取手机应用内存快照和内存分配堆栈的方法及装置。

背景技术

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

Unity作为一种广泛应用的手机游戏开发引擎,采用Mono平台作为其C#虚拟机,且分配释放内存都使用Mono平台中的相关接口,因此能够优化内存占用,从而提升游戏性能。

由于Mono平台封装了从操作系统中分配内存的过程,因此手机应用开发人员不能直接获取Mono平台分配的内存的信息。鉴于上述原因,手机应用开发人员需要一套内存状况的监测工具,获取当前时刻内存中存储的对象详情,从而针对占用内存较大的对象或数目众多的同类对象进行相关优化;以及同时获取每次分配内存的调用堆栈信息,从而能快速定位某个对象产生的代码路径并进行优化。

发明内容

本发明的目的是解决现有技术的不足,提供一种获取手机应用内存快照和内存分配堆栈的方法及装置,能够获得同时向手机应用开发人员提供指定时刻手机应用的内存快照和内存分配堆栈的直观信息,从而为手机应用开发人员快速优化手机应用性能提供方便的效果。

为了实现上述目的,本发明采用以下的技术方案:

本发明提出一种获取手机应用内存快照和内存分配堆栈的方法,用于安卓智能手机中基于Unity引擎开发的程序,步骤如下:

S100)启动被检测手机应用,并初始化内存信息元数据表和内存分配堆栈统计表;

S200)查找并监视Unity引擎中分配和回收内存相关的应用程序编程接口;

S300)执行对应的操作,触发调用该应用程序编程接口,截获当前的内存分配回收信息;

S400)根据当前的该内存分配回收信息更新该内存信息元数据表和该内存分配堆栈统计表;

S500)若检测完毕,执行步骤S600,否则返回执行步骤S300;

S600)将该内存信息元数据表和该内存分配堆栈统计表分别保存为内存快照文件和内存分配堆栈统计文件,并导出为外部文件。

在本发明的上述方法中,该内存信息元数据表的内容至少包括内存分配大小、对象类型和当前接口调用堆栈。

在本发明的上述方法中,该内存分配堆栈统计表的内容至少包括内存分配堆栈的内存分配次数和内存分配总大小。

在本发明的上述方法中,该步骤S500通过与外部交互的方式,导出该外部文件。

在本发明的上述方法中,该步骤S600按照内存分配频度顺序,保存该内存分配堆栈统计文件记录。

本发明还提出一种获取手机应用内存快照和内存分配堆栈的装置,用于安卓智能手机中基于Unity引擎开发的程序,其特征在于,包括以下模块:

启动模块,用于启动被检测手机应用,并初始化内存信息元数据表和内存分配堆栈统计表;

监视模块,用于查找并监视Unity引擎中分配和回收内存相关的应用程序编程接口;

截获模块,用于在执行对应的操作,触发调用该应用程序编程接口后,截获当前的内存分配回收信息;

更新模块,用于根据当前的该内存分配回收信息更新该内存信息元数据表和该内存分配堆栈统计表;

导出模块,用于将该内存信息元数据表和该内存分配堆栈统计表分别保存为内存快照文件和内存分配堆栈统计文件,并导出为外部文件。

在本发明的上述装置中,该导出模块保存的该内存快照文件至少包括内存分配大小、对象类型和当前接口调用堆栈。

在本发明的上述装置中,该导出模块保存的该内存分配堆栈统计文件至少包括内存分配堆栈的内存分配次数和内存分配总大小。

在本发明的上述装置中,该装置通过与外部交互的方式,导出该外部文件。

在本发明的上述装置中,该导出模块按照内存分配频度顺序,保存该内存分配堆栈统计文件。

本发明还提出了一种计算机可读介质,包括用于执行该获取手机应用内存快照和内存分配堆栈方法的指令。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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