一种内存泄露自动化检测方法、装置及移动终端的制作方法

文档序号:9274622阅读:511来源:国知局
一种内存泄露自动化检测方法、装置及移动终端的制作方法
【技术领域】
[0001]本发明涉及移动终端的应用技术领域,尤其是一种内存泄露自动化检测方法、装置及移动终端。
【背景技术】
[0002]目前,移动终端诸如智能手机中安装的应用越来越多。虽然其硬件水平在不断提升,然而用户仍然经常感觉在操作的时候出现卡顿,即运行不流畅。出现这种情况的一个重要原因是应用或系统的缺陷,导致发生内存泄露。内存泄露不仅会影响移动终端的运行速度,还有可能导致应用崩溃。
[0003]因此,对于移动终端的应用、系统进行内存泄露检测是非常有必要的。传统的方式是通过自研工具在PC端监控内存情况(例如在较长时间内不断读取内存占用信息),然后观测者人工观察内存占用变化情况。这种方式要求移动终端与PC端有线相连,而且内存泄露的发现需要长时间压力测试,带来了很大的人工成本。
[0004]因此,需要一种高效的内存泄露自动化检测方法。

【发明内容】

[0005]为此,本发明提供一种内存泄露自动化检测方法、装置及移动终端,以力图解决或者至少缓解上面存在的至少一个问题。
[0006]根据本发明的一个方面,提供了一种内存泄露自动化检测方法,方法在移动终端中执行,包括步骤:开启内存监控,运行测试脚本得到内存监控数据,通过测试脚本中读取配置数据;根据内存监控数据绘制内存占用曲线图;依据内存占用曲线图判断对应应用是否发生内存泄露;以及若发生内存泄露,通过修改配置数据确定测试脚本模式,执行测试脚本模式以定位内存泄露的具体模块。
[0007]可选地,在根据本发明的内存泄露自动化检测方法中,开启内存监控、运行测试脚本步骤之前,还包括步骤:实时监控移动终端的内存情况,输出配置数据。
[0008]可选地,在根据本发明的内存泄露自动化检测方法中,配置数据以Key-Value的形式存储。
[0009]可选地,在根据本发明的内存泄露自动化检测方法中,开启内存监控、运行测试脚本步骤包括:根据用户需求设置监控频率和/或要监控的应用。
[0010]可选地,在根据本发明的内存泄露自动化检测方法中,依据内存曲线图判断对应应用是否发生内存泄露的步骤包括:若曲线在预定时间内增长幅度超过阈值,则判定对应应用发生内存泄露。
[0011]根据本发明的另一方面,提供了一种内存泄露自动化检测装置,该装置布置在移动终端上,装置包括:监控控制单元,适于在开启内存监控时,运行测试脚本得到内存监控数据,其中通过测试脚本读取配置数据;并且执行测试脚本模式以定位内存泄露的具体模块;曲线绘制单元,适于根据内存监控数据绘制内存占用曲线图;判断单元,适于依据内存占用曲线图判断对应应用是否发生内存泄露;以及监控设置单元,适于在发生内存泄露时,通过修改配置数据确定测试脚本模式。
[0012]可选地,在根据本发明的内存泄露自动化检测装置中,监控控制单元还适于实时监控移动终端的内存情况,输出配置数据。
[0013]可选地,在根据本发明的内存泄露自动化检测装置中,配置数据以Key-Value的形式存储。
[0014]可选地,在根据本发明的内存泄露自动化检测装置中,监控控制单元还适于根据用户需求设置监控频率和/或要监控的应用。
[0015]可选地,在根据本发明的内存泄露自动化检测装置中,判断单元被配置为若曲线在预定时间内增长幅度超过阈值,则判定对应应用发生内存泄露。
[0016]根据本发明的另一方面,提供了一种移动终端,具有如上所述的内存泄露自动化检测装置。
[0017]根据本发明的内存泄露自动化检测方案,通过自动化测试的方式来执行内存泄露检测。在测试过程中监控移动终端内存,得到内存占用曲线图,可以很方便直观地评估出是否存在内存泄露;更进一步地,可以通过修改配置数据得到测试脚本模式,精确地分析出发生内存泄露的模块。
【附图说明】
[0018]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0019]图1示出了根据本发明的一个示例性实施方式的移动终端100的构造框图;
[0020]图2示出了根据本发明一个实施例的内存泄露自动化检测方法200的流程图;
[0021]图3示出了根据本发明一个实施例的内存泄露自动化检测装置300的示意图;
[0022]图4示出了根据本发明一个实施例的在移动终端100设置监控条件的界面示意图;以及
[0023]图5示出了根据本发明一个实施例的内存占用曲线图。
【具体实施方式】
[0024]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025]图1为根据本发明的一个实施方式的移动终端100构造示意图。参照图1,移动终端100包括:存储器接口 102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口 106。存储器接口 102、一个或多个处理器104和/或外围接口 106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口 106,以便帮助实现多种功能。例如,运动传感器110、光传感器112和距离传感器114可以耦合到外围接口 106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口 106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
[0026]相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持GSM网络、GPRS网络、EDGE网络、W1-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
[0027]I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
[0028]存储器接口 102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,N0R)。存储器150可以存储操作系统152,例如Android、1S或是Windows Phone之类的操作系统。该操作系统152可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用154。这些应用在操作时,会从存储器150加载到处理器104上,并在已经由处理器104运行的操作系统之上运行,并利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用可以是独立于操作系统提供的,也可以是操作系统自带的。
[0029]根据本发明的一个实施例,提供了一种可以自动化检测内存泄露的移动终端100,可以通过布置内存泄露自动化检测的客户端应用实现该功能,该客户端应用存储于应用154 中。
[0030]图2示出了根据本发明一个实施例的内存泄露自动化检测方法200的流程图。该方法在移动终端100中执行,该方法始于步骤S210,开启内存监控,运行测试脚本来得到内存监控数据。其中可以通过测试脚本来读取配置数据,所谓配置数据是预先实时监控移动终端100的内存情况而得到的、并且以Key-Value的形式存储在移动终端中的数据表,Key-Value用来决定执行测试脚本中的哪些步骤,例如在内存泄露检测中Key的值是
branchNumber, Value可以根据需要定义为0、1、2......等,分别代表执行测试脚本中的第O
步命令、第I步命令、第2步命令等等,执行不同的命令,就相当于定义了不同的测试脚本模式。根据本发明的一个实施例,以文本的形式保存该数据表。
[0031]当用户开启内存监控时,移动终端100通过后台执行Shell命令、运行测试脚本来获取所有进程/或应用的内存监控数据,例如:日历应用的内存数据,执行Shell命令 dumpsys meminfo | grep com.android, calendar 艮P 可直接获取,其中 c
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1