一种内存泄露检测方法、终端及计算机可读存储介质技术

技术编号:23148859 阅读:22 留言:0更新日期:2020-01-18 13:23
本发明专利技术公开了一种内存泄露检测方法、终端及计算机可读存储介质,该内存泄露检测方法通过对终端上各应用内存申请和释放进行监控,当应用进行内存申请时,记录应用的内存申请信息,当应用进行内存释放时,记录应用的内存释放信息,进一步地,显示内存申请信息与内存释放信息;解决了现有技术中没有完善的内存泄漏检测方案,导致内存泄漏后很难定位并解决,大大增加了软件开发难度的问题。本发明专利技术还公开了一种终端及计算机可读存储介质,通过实施上述方案,实现了应用内存泄漏的快速排查和定位,大大降低了软件开发难度,为开发人员带来诸多便利。

A memory leak detection method, terminal and computer readable storage medium

【技术实现步骤摘要】
一种内存泄露检测方法、终端及计算机可读存储介质
本专利技术涉及终端安全
,更具体地说,涉及一种内存泄露检测方法、终端及计算机可读存储介质。
技术介绍
内存泄露是软件开发过程中的常见问题。内存泄露(MemoryLeak),是指在应用程序运行过程中,分配的内存由于某种原因未释放或无法释放,浪费了系统内存,且易导致应用程序运行速度减慢甚至整个系统崩溃等严重后果。其中,内存泄漏缺陷具有隐蔽性、积累性的特征,比其他内存非法访问错误更难检测,目前,还没有完善的内存泄漏检测方案,导致内存泄漏后很难定位并解决,大大增加了软件开发的难度。
技术实现思路
本专利技术要解决的技术问题在于现有技术中没有完善的内存泄漏检测方案,导致内存泄漏后很难定位并解决,大大增加了软件开发难度的问题。针对该技术问题,提供一种内存泄露检测方法、终端及计算机可读存储介质。为解决上述技术问题,本专利技术提供一种内存泄露检测方法,所述内存泄露检测方法包括:对终端上各应用内存申请和释放进行监控,当所述应用进行内存申请时,记录所述应用的内存申请信息,当所述应用进行内存释放时,记录所述应用的内存释放信息;显示所述内存申请信息与内存释放信息。可选地,所述内存申请信息包括:内存申请大小、内存申请位置以及调用栈信息;所述内存释放信息包括:内存释放大小、内存释放位置。可选地,所述显示所述内存申请信息与内存释放信息之前,还包括:根据所述内存申请信息与内存释放信息统计内存泄露大小;判断所述内存泄露大小是否超过预设阈值;若是,显示所述内存申请信息与内存释放信息。可选地,所述根据所述内存申请信息与内存释放信息统计内存泄露大小,包括:从所述内存申请信息中确定出内存申请的总大小;从所述内存释放信息中确定出内存释放的总大小;根据所述内存申请的总大小与所述内存释放的总大小计算内存泄露大小。可选地,所述显示所述内存申请信息与内存释放信息之前,还包括:在所述应用的运行过程中,对所述应用占用的内存大小进行周期性采样得到预设时间段内的采样数据;根据所述采样数据生成内存占用曲线图;判断所述内存占用曲线图走势是否为递增走势;若是,判定当前处于内存泄露,显示所述内存申请信息与内存释放信息。可选地,所述记录所述应用的内存申请与释放信息之前,还包括:当所述应用开始运行时,为其分配预设大小的内存,以用于存储内存申请信息和应用进行内存释放时的内存释放信息。可选地,所述显示所述内存申请信息与内存释放信息,包括:将所述内存申请信息与内存释放信息写入至日志文件中,并显示所述日志文件。可选地,所述显示所述日志文件之前,还包括:发出告警通知信息。进一步地,本专利技术还提供了一种终端,所述终端包括处理器、存储器及通信总线;所述通信总线用于实现所述处理器和所述存储器之间的连接通信;所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如上述任一项所述的内存泄露检测方法的步骤。进一步地,本专利技术还提供了一种计算机可读存储介质,所述计算存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述所述的内存泄露检测方法的步骤。有益效果本专利技术提出的内存泄露检测方法、终端及计算机可读存储介质,该内存泄露检测方法通过对终端上各应用内存申请和释放进行监控,当应用进行内存申请时,记录应用的内存申请信息,当应用进行内存释放时,记录应用的内存释放信息,进一步地,显示内存申请信息与内存释放信息;解决了现有技术中没有完善的内存泄漏检测方案,导致内存泄漏后很难定位并解决,大大增加了软件开发难度的问题。也即在本专利技术中,对终端上各应用内存申请和释放时的内存申请信息和内存释放信息进行了记录,后续开发人员可以通过查看内存申请信息和内存释放信息,排查和定位应用内存泄漏,避免了内存泄露后难以定位的现象发生,大大降低了软件开发难度,为开发人员带来诸多便利。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1为实现本专利技术各个实施例一个可选的移动终端的硬件结构示意图;图2为如图1所示的移动终端的无线通信系统示意图;图3为本专利技术第一实施例提供的一种内存泄露检测方法的基本流程示意图;图4为本专利技术第一实施例提供的一种显示内存申请信息与内存释放信息之前的基本流程示意图;图5为本专利技术第一实施例提供的根据内存申请信息与内存释放信息统计内存泄露大小的基本流程示意图;图6为本专利技术第一实施例提供的另一种显示内存申请信息与内存释放信息之前的基本流程示意图;图7为本专利技术第一实施例提供的一种根据采样数据生成的内存占用曲线图的示意图;图8为本专利技术第二实施例提供的一种具体的内存泄露检测方法的基本流程示意图;图9为本专利技术第三实施例提供的终端的结构示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本专利技术中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。请参阅图1,其为实现本专利技术各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:RF(RadioFrequency,射频)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图1对移动终端的各个部件进行具体的介绍:射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,射频单元101可以将上行信息发送给基站,另外也可以将基站发送的下行信息接收后,发送给移动终端的处理器110处理,基站向射频单元101发送的下行信息可以是根据射频单元101发送的上行信息生成的,也可以是在检测到移动终端的信息更新后主动向射频单元101推送的,例如,在检测到移动终端所处的地理位置发生变化后,基站可以向移动终本文档来自技高网...

【技术保护点】
1.一种内存泄露检测方法,其特征在于,所述内存泄露检测方法包括:/n对终端上各应用内存申请和释放进行监控,当所述应用进行内存申请时,记录所述应用的内存申请信息,当所述应用进行内存释放时,记录所述应用的内存释放信息;/n显示所述内存申请信息与内存释放信息。/n

【技术特征摘要】
1.一种内存泄露检测方法,其特征在于,所述内存泄露检测方法包括:
对终端上各应用内存申请和释放进行监控,当所述应用进行内存申请时,记录所述应用的内存申请信息,当所述应用进行内存释放时,记录所述应用的内存释放信息;
显示所述内存申请信息与内存释放信息。


2.如权利要求1所述的内存泄露检测方法,其特征在于,所述内存申请信息包括:内存申请大小、内存申请位置以及调用栈信息;
所述内存释放信息包括:内存释放大小、内存释放位置。


3.如权利要求2所述的内存泄露检测方法,其特征在于,所述显示所述内存申请信息与内存释放信息之前,还包括:
根据所述内存申请信息与内存释放信息统计内存泄露大小;
判断所述内存泄露大小是否超过预设阈值;
若是,显示所述内存申请信息与内存释放信息。


4.如权利要求3所述的内存泄露检测方法,其特征在于,所述根据所述内存申请信息与内存释放信息统计内存泄露大小,包括:
从所述内存申请信息中确定出内存申请的总大小;
从所述内存释放信息中确定出内存释放的总大小;
根据所述内存申请的总大小与所述内存释放的总大小计算内存泄露大小。


5.如权利要求1所述的内存泄露检测方法,其特征在于,所述显示所述内存申请信息与内存释放信息之前,还包括:
在所述应用的运行过程中,对所述应用占用的内存大小进行周期性采样得到预设时间...

【专利技术属性】
技术研发人员:迪清华
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1