CN106528430A - 一种应用程序的检测方法、装置及电子设备 - Google Patents

一种应用程序的检测方法、装置及电子设备 Download PDF

Info

Publication number
CN106528430A
CN106528430A CN201611095690.9A CN201611095690A CN106528430A CN 106528430 A CN106528430 A CN 106528430A CN 201611095690 A CN201611095690 A CN 201611095690A CN 106528430 A CN106528430 A CN 106528430A
Authority
CN
China
Prior art keywords
class
application program
image file
memory
memory image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611095690.9A
Other languages
English (en)
Other versions
CN106528430B (zh
Inventor
吴佳莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201611095690.9A priority Critical patent/CN106528430B/zh
Publication of CN106528430A publication Critical patent/CN106528430A/zh
Application granted granted Critical
Publication of CN106528430B publication Critical patent/CN106528430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例公开一种应用程序的检测方法、装置及电子设备,涉及通信技术领域,能够在测试过程中及时检测出内存泄漏点,提高用户的使用体验。本发明的应用程序的检测方法,包括:执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。利用本发明的方案提高了用户的使用体验。

Description

一种应用程序的检测方法、装置及电子设备
技术领域
本发明涉及通信技术领域,尤其涉及一种应用程序的检测方法、装置及电子设备。
背景技术
安卓应用的性能问题越来越受到重视。应用程序的内存如果不断增高,不仅造成设备卡慢,严重时会造成设备将应用程序强行关闭,从而影响用户体验。
应用程序的内存不断增高,大部分原因是存在内存泄漏的问题,原本应该释放的内存没有及时释放,新的内存又不断增加,从而造成应用程序占用的内存过大。现有的检测内存泄漏技术只能在应用程序发生OOM(out of memory,内存不足)时,报出内存泄漏点。如果在测试过程中,执行的例子无法导致程序发生OOM,则无法发现内存泄漏点。而在复杂的用户环境中,则可能出现内存泄漏,导致应用程序被系统杀死。
发明内容
有鉴于此,本发明实施例提供一种应用程序的检测方法、装置及电子设备,能够在测试过程中及时检测出内存泄漏点,提高用户的使用体验。
第一方面,本发明实施例提供一种应用程序的检测方法,包括:
执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;
根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;
若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
作为另一实施例,所述方法进一步包括:
执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件;
重复执行所述指定测试场景预定次数,获取第三内存快照文件;
获取所述第二内存快照文件中和第三内存快照文件中各个类的信息;
确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类;
若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较;
若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点
作为另一实施例,所述根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用的步骤,具体为:
获取预设的用于展示所述指定界面的类的信息;
根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件;
若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。
作为另一实施例,所述方法进一步包括:
获取所述类对应的回收路径。
作为另一实施例,所述方法进一步包括:
获取所述第一类和/或目标类对应的回收路径。
第二方面,本发明实施例提供一种应用程序的检测装置,包括:
第一获取模块,用于执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;
第一确定模块,用于根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;
检测模块,用于若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
作为另一实施例,所述装置还包括:
第二获取模块,用于执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件;
第三获取模块,用于重复执行所述指定测试场景预定次数,获取第三内存快照文件;
信息获取模块,用于获取所述第二内存快照文件中和第三内存快照文件中各个类的信息;
第二确定模块,用于确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类;
比较模块,用于若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较;
所述检测模块还用于,若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点。
作为另一实施例,所述第一确定模块包括:
信息获取子模块,用于获取预设的用于展示所述指定界面的类的信息;
解析子模块,用于根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件;
确定子模块,用于若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。
作为另一实施例,所述装置还包括:
第一路径获取模块,用于获取所述类对应的回收路径。
作为另一实施例,所述装置还包括:
第二路径获取模块,用于获取所述第一类和/或目标类对应的回收路径。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的应用程序的检测方法。
第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种应用程序的检测方法。
第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种应用程序的检测方法。
本发明实施例提供的一种应用程序的检测方法、装置及电子设备,通过执行打开待检测应用程序的指定界面的操作获得的第一内存快照文件,确定是否存在与所述指定界面相关的类引用;若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。因此,利用本发明实施例的方案,能够在测试过程中及时检测出内存泄漏点,进而提高用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一应用程序的检测方法的流程图;
图2为本发明实施例二应用程序的检测方法的流程图;
图3为本发明实施例三检测应用程序内存泄漏装置的示意图;
图4为本发明实施例三检测应用程序内存泄漏装置的结构图;
图5为本发明实施例的电子设备的示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例一的应用程序的检测方法,包括:
步骤101,执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件。
其中,所述指定界面可以是待检测应用程序中的任意界面。为了获得更为准确的检测结果,所述指定界面可以是所述待检测应用程序的全部界面。
通过执行打开待检测应用程序的指定界面的操作,可获取对应的hprof文件。hprof文件违建为java虚拟机的堆内存快照文件,保存了应用程序的内存信息。在此将其称为第一内存快照文件。
步骤102,根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用。
在此步骤中,获取预设的用于展示所述指定界面的类的信息,并根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件。若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。其中所述类还包括位图。
步骤103,若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
如果存在,这个类可判定为内存泄漏点。此外,还可将该类对应的回收路径获取并保存下来,提供给开发人员根据回收路径解决内存泄漏问题。
由上可以看出,利用本发明实施例的方案,能够在测试过程中及时检测出内存泄漏点,进而提高用户的使用体验。
如图2所示,本发明实施例二的应用程序的检测方法,包括:
步骤201,执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件。
假设待检测应用程序为某个锁屏程序,在此,打开锁屏程序的所有界面,并关闭。由此,获取第一内存快照文件。
步骤202,根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用。
步骤203,若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
步骤204,获取并存储所述类对应的回收路径。
步骤205,执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件。
其中,所述指定测试场景可以是待检测应用程序的部分测试场景,也可以是全部测试场景。在此,执行锁屏软件的所有测试场景,例如,接收信息流,上拉锁屏的工具箱,划到天气页,点击某些按钮等测试场景。由此,获取第二内存快照文件。
步骤206,重复执行所述指定测试场景预定次数,获取第三内存快照文件。
其中,该预定次数可任意设置,例如设置为5次等。通过重复执行该指定测试场景,可以获取第三内存快照文件。
步骤207,获取所述第二内存快照文件中和第三内存快照文件中各个类的信息。
步骤208,确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类。
其中,该第一类为第二内存快照文件的各个类中的任意一类。
步骤209,若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较。
步骤210,若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点。
步骤211,获取并存储第一类和/或目标类对应的回收路径。
由上可以看出,利用本发明实施例的方案,可以在应用程序的测试阶段及时准确地发现内存泄漏点,提供有效的解决方案,防止应用程序在用户环境中发生内存泄漏,避免应用程序被“杀”,提高了用户体验。
如图3所示,本发明实施例三的检测应用程序内存泄漏装置,包括:
第一获取模块301,用于执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;第一确定模块302,用于根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;检测模块303,用于若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
如图4所示,为了进一步提高检测准确性和全面性,所述装置还包括:
第二获取模块304,用于执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件;第三获取模块305,用于重复执行所述指定测试场景预定次数,获取第三内存快照文件;信息获取模块306,用于获取所述第二内存快照文件中和第三内存快照文件中各个类的信息;第二确定模块307,用于确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类;比较模块308,用于若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较。此时,所述检测模块303还用于,若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点。
具体的,所述第一确定模块301包括:
信息获取子模块,用于获取预设的用于展示所述指定界面的类的信息;解析子模块,用于根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件;确定子模块,用于若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。
再如图4所示,所述装置还包括:
第一路径获取模块309,用于获取所述类对应的回收路径。第二路径获取模块310,用于获取所述第一类和/或目标类对应的回收路径。
本发明实施例的工作原理可参照前述方法实施例的描述。
由上可以看出,利用本发明实施例的方案,可以在应用程序的测试阶段及时准确地发现内存泄漏点,提供有效的解决方案,防止应用程序在用户环境中发生内存泄漏,避免应用程序被“杀”,提高了用户体验。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图5所示,上述电子设备可以包括:壳体501、处理器502、存储器503、电路板504和电源电路505,其中,电路板504安置在壳体501围成的空间内部,处理器502和存储器503设置在电路板504上;电源电路505,用于为上述电子设备的各个电路或器件供电;存储器503用于存储可执行程序代码;处理器502通过读取存储器503中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的应用程序的检测方法。
处理器502对上述步骤的具体执行过程以及处理器502通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1或2所示实施例的描述,在此不再赘述。
本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种应用程序的检测方法。
本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种应用程序的检测方法。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种应用程序的检测方法,其特征在于,包括:
执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;
根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;
若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
2.根据权利要求1所述的应用程序的检测方法,其特征在于,所述方法还包括:
执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件;
重复执行所述指定测试场景预定次数,获取第三内存快照文件;
获取所述第二内存快照文件中和第三内存快照文件中各个类的信息;
确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类;
若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较;
若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点。
3.根据权利要求1或2所述的应用程序的检测方法,其特征在于,所述根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用的步骤,具体为:
获取预设的用于展示所述指定界面的类的信息;
根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件;
若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。
4.根据权利要求3所述的应用程序的检测方法,其特征在于,在所述将所述类作为内存泄漏点的步骤后,所述方法还包括:
获取所述类对应的回收路径。
5.根据权利要求2所述的应用程序的检测方法,其特征在于,在所述将所述第一类和所述目标类作为内存泄漏点的步骤后,所述方法还包括:
获取所述第一类和/或目标类对应的回收路径。
6.一种应用程序的检测装置,其特征在于,包括:
第一获取模块,用于执行打开待检测应用程序的指定界面的操作,获取第一内存快照文件;
第一确定模块,用于根据所述第一内存快照文件确定是否存在与所述指定界面相关的类引用;
检测模块,用于若确定存在与所述指定界面相关的类的引用,将所述类作为内存泄漏点。
7.根据权利要求6所述的应用程序的检测装置,其特征在于,所述装置还包括:
第二获取模块,用于执行所述待检测应用程序中的指定测试场景,获取第二内存快照文件;
第三获取模块,用于重复执行所述指定测试场景预定次数,获取第三内存快照文件;
信息获取模块,用于获取所述第二内存快照文件中和第三内存快照文件中各个类的信息;
第二确定模块,用于确定所述第三内存快照文件中,是否存在与所述第二内存快照文件中的第一类相同的目标类;
比较模块,用于若存在与所述第一类相同的目标类,则获取所述目标类的实例的数量和所述第一类的实例的数量,并将所述第一类的实例的数量和所述目标类的实例的数量进行比较;
所述检测模块还用于,若所述目标类的实例的数量大于所述第一类的实例的数量,将所述第一类和所述目标类作为内存泄漏点。
8.根据权利要求6或7所述的应用程序的检测装置,其特征在于,所述第一确定模块包括:
信息获取子模块,用于获取预设的用于展示所述指定界面的类的信息;
解析子模块,用于根据所述用于展示所述指定界面的类的信息,解析所述第一内存快照文件;
确定子模块,用于若根据对所述第一内存快照文件的解析结果,确定存在与所述用于展示所述指定界面的类的信息对应的实例,则确定存在与所述指定界面相关的类的引用。
9.根据权利要求8所述的应用程序的检测装置,所述装置还包括:
第一路径获取模块,用于获取所述类对应的回收路径。
10.根据权利要求7所述的应用程序的检测装置,所述装置还包括:
第二路径获取模块,用于获取所述第一类和/或目标类对应的回收路径。
CN201611095690.9A 2016-12-01 2016-12-01 一种应用程序的检测方法、装置及电子设备 Active CN106528430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611095690.9A CN106528430B (zh) 2016-12-01 2016-12-01 一种应用程序的检测方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611095690.9A CN106528430B (zh) 2016-12-01 2016-12-01 一种应用程序的检测方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN106528430A true CN106528430A (zh) 2017-03-22
CN106528430B CN106528430B (zh) 2019-03-26

Family

ID=58354577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611095690.9A Active CN106528430B (zh) 2016-12-01 2016-12-01 一种应用程序的检测方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN106528430B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632929A (zh) * 2017-08-21 2018-01-26 北京京东尚科信息技术有限公司 一种检测内存泄漏的方法和装置
CN109558308A (zh) * 2018-09-29 2019-04-02 中国平安人寿保险股份有限公司 应用程序内存泄露检测方法、装置、电子设备及存储介质
CN110083520A (zh) * 2018-01-25 2019-08-02 迈普通信技术股份有限公司 数据获取方法及装置
CN110134663A (zh) * 2019-04-02 2019-08-16 北京三快在线科技有限公司 组织结构数据处理方法、装置、电子设备
CN110333993A (zh) * 2019-06-24 2019-10-15 北京三快在线科技有限公司 内存快照的生成方法、装置、电子设备和存储介质
CN111258797A (zh) * 2020-01-13 2020-06-09 北京字节跳动网络技术有限公司 一种内存泄露的检测方法、装置、介质和电子设备
CN111897559A (zh) * 2020-08-06 2020-11-06 厦门美图之家科技有限公司 热更新代码检测方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979748B2 (en) * 2007-02-27 2011-07-12 International Business Machines Corporation Method and system for analyzing memory leaks occurring in java virtual machine data storage heaps
CN104182320A (zh) * 2013-05-23 2014-12-03 联想(北京)有限公司 一种监控内存泄漏的方法及装置
CN105373479A (zh) * 2015-12-14 2016-03-02 厦门美图移动科技有限公司 一种内存泄露的自动化测试方法、装置及移动终端
CN105630662A (zh) * 2014-10-28 2016-06-01 腾讯科技(深圳)有限公司 内存检测方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979748B2 (en) * 2007-02-27 2011-07-12 International Business Machines Corporation Method and system for analyzing memory leaks occurring in java virtual machine data storage heaps
CN104182320A (zh) * 2013-05-23 2014-12-03 联想(北京)有限公司 一种监控内存泄漏的方法及装置
CN105630662A (zh) * 2014-10-28 2016-06-01 腾讯科技(深圳)有限公司 内存检测方法和装置
CN105373479A (zh) * 2015-12-14 2016-03-02 厦门美图移动科技有限公司 一种内存泄露的自动化测试方法、装置及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LOOPERJING: "Android性能优化第(二)篇---Memory Monitor检测内存泄露", 《HTTPS://WWW.JIANSHU.COM/P/EF9081050F5C》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632929A (zh) * 2017-08-21 2018-01-26 北京京东尚科信息技术有限公司 一种检测内存泄漏的方法和装置
CN110083520A (zh) * 2018-01-25 2019-08-02 迈普通信技术股份有限公司 数据获取方法及装置
CN110083520B (zh) * 2018-01-25 2022-09-13 迈普通信技术股份有限公司 数据获取方法及装置
CN109558308A (zh) * 2018-09-29 2019-04-02 中国平安人寿保险股份有限公司 应用程序内存泄露检测方法、装置、电子设备及存储介质
CN110134663A (zh) * 2019-04-02 2019-08-16 北京三快在线科技有限公司 组织结构数据处理方法、装置、电子设备
CN110134663B (zh) * 2019-04-02 2020-04-28 北京三快在线科技有限公司 组织结构数据处理方法、装置、电子设备
CN110333993A (zh) * 2019-06-24 2019-10-15 北京三快在线科技有限公司 内存快照的生成方法、装置、电子设备和存储介质
CN111258797A (zh) * 2020-01-13 2020-06-09 北京字节跳动网络技术有限公司 一种内存泄露的检测方法、装置、介质和电子设备
CN111258797B (zh) * 2020-01-13 2023-04-18 北京字节跳动网络技术有限公司 一种内存泄露的检测方法、装置、介质和电子设备
CN111897559A (zh) * 2020-08-06 2020-11-06 厦门美图之家科技有限公司 热更新代码检测方法、装置、电子设备及存储介质
CN111897559B (zh) * 2020-08-06 2022-08-26 厦门美图之家科技有限公司 热更新代码检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106528430B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN106528430A (zh) 一种应用程序的检测方法、装置及电子设备
KR101568224B1 (ko) 소프트웨어 취약점 분석방법 및 분석장치
KR101904911B1 (ko) 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치
US8122436B2 (en) Privacy enhanced error reports
KR101981028B1 (ko) 바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램
US9983984B2 (en) Automated modularization of graphical user interface test cases
CN104346148A (zh) 获取程序性能消耗信息的方法、装置及系统
CN106445783A (zh) 一种检测电子设备卡顿的方法、装置及电子设备
CN105446864A (zh) 缓存文件删除影响的校验方法、装置及移动终端
CN101853200A (zh) 一种高效动态软件漏洞挖掘方法
Lin et al. Dimsum: Discovering semantic data of interest from un-mappable memory with confidence
CN110688658B (zh) 未知病毒感染追溯方法、装置及系统
CN107193732A (zh) 一种基于路径比对的校验函数定位方法
KR101696694B1 (ko) 역추적을 이용한 소스 코드 취약점 분석 방법 및 장치
CN105512562B (zh) 一种漏洞挖掘方法、装置及电子设备
CN115827610A (zh) 一种有效负荷的检测方法及装置
CN110427622A (zh) 语料标注的评估方法、装置及存储介质
CN111221690B (zh) 针对集成电路设计的模型确定方法、装置及终端
CN103152212A (zh) 一种告警相关性分析方法、装置及网络管理系统
CN105468531A (zh) 一种挖掘漏洞的方法、装置及电子设备
CN113805861B (zh) 基于机器学习的代码生成方法、代码编辑系统及存储介质
CN102999556A (zh) 文字搜索方法、装置以及终端设备
CN108874462A (zh) 一种浏览器行为获取方法、装置、存储介质及电子设备
CN106155880A (zh) 一种基于策略的自动化程序分析系统和方法
CN111274143B (zh) 埋点测试方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant