The invention discloses a memory leak detection method and apparatus for Android applications, the memory leak detection method includes: the establishment of a weak reference monitor, weak Activity component applistener monitor the current operation; when the Activity component destroyed, testing whether the Activity component reference exists, if it exists, the trigger memory recovery mechanism. After the detection of Activity components the existence of weak references. The beneficial effect of the implementation of the present invention is, by arbitrarily set up monitoring objects, convenient to monitor memory leaks in application development, the method and the device used is simple and flexible, not only improves the robustness of the program, but also improves the efficiency of development engineer.
【技术实现步骤摘要】
一种安卓应用的内存泄露检测方法及装置
本专利技术涉及安卓系统内存管理
,尤其涉及一种安卓应用的内存泄露检测方法及装置。
技术介绍
在基于安卓(Android)系统的代码编写中,根据开发者的工作经验,一般对容易产生内存泄漏的代码进行处理。目前在Android应用程序开发中,对象使用后仍持有该对象的引用,使得之前分配的内存不能回收,造成了内存泄漏。这就需要开发人员对容易产生内存泄漏的代码进行额外的控制,已防止内存泄漏的产生。如context(上下文环境)的重要程度不言而喻,context有自己的生命周期,如果使用不当,一直持有该context的引用,从而导致context的存在时间超过了本身的生命周期,就会导致内存泄漏,并且如果缺少经验,开发过程中并不容易明显发现,明显的例子是使用静态属性View,或是使用Handler延迟发送消息等,这都需要开发者在开发的过程中做好预防措施,但是难免也会有疏漏。应用程序开发完成后,使用MAT(Eclipse的一个插件,内存分析工具)等内存分析工具对程序的内存的使用进行分析,但是上手较为麻烦,查找起来也比较消耗时间。
技术实现思路
本专利技术的目的在于提供一种安卓应用的内存泄露检测方法及装置,解决现有技术中出现内存泄露会占用内存越来越多,以至于导致程序崩溃的问题。本专利技术的技术方案实现如下:本专利技术的一个目的在于提供一种安卓应用的内存泄露检测方法,包括:建立一弱引用监听器,所述弱引用监听器监听当前运行的应用程序的Activity组件;当所述Activity组件销毁时,检测所述Activity组件是否存在引用,若存在,则触 ...
【技术保护点】
一种安卓应用的内存泄露检测方法,其特征在于,包括:建立一弱引用监听器,所述弱引用监听器监听当前运行的应用程序的Activity组件;当所述Activity组件销毁时,检测所述Activity组件是否存在引用,若存在,则触发内存回收机制,之后检测所述Activity组件是否存在弱引用。
【技术特征摘要】
1.一种安卓应用的内存泄露检测方法,其特征在于,包括:建立一弱引用监听器,所述弱引用监听器监听当前运行的应用程序的Activity组件;当所述Activity组件销毁时,检测所述Activity组件是否存在引用,若存在,则触发内存回收机制,之后检测所述Activity组件是否存在弱引用。2.根据权利要求1所述的内存泄露检测方法,其特征在于,所述检测所述Activity组件是否存在弱引用的步骤包括:检测所述Activity组件是否存在弱引用;若存在,则所述Activity组件发生内存泄露;若不存在,则内存回收正常。3.根据权利要求1所述的内存泄露检测方法,其特征在于,所述触发内存回收机制的步骤包括:调用Runtime.getRuntime().gc()方法触发内存垃圾回收。4.根据权利要求2所述的内存泄露检测方法,其特征在于,所述内存泄露检测方法还包括:当所述Activity组件发生内存泄露时,在通知栏中显示所述Activity组件的引用的相关信息。5.根据权利要求2所述的内存泄露检测方法,其特征在于,所述内存泄露检测方法还包括:建立多个弱引用监听器,所述多个弱引用监听器监听当前运行的多个应用程序的Activity组件。6.一种安卓应用的内存泄露检测...
【专利技术属性】
技术研发人员:张玉竹,
申请(专利权)人:卓望数码技术深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。