zoukankan      html  css  js  c++  java
  • LeakCanary:简单粗暴的内存泄漏检測工具

            差点儿每一个程序猿在开发的过程中都会遇到内存泄漏。那么我们怎样检測到app是否哪里出现内存泄漏呢?square公司推出了一款简单粗暴的检測内存泄漏的工具-- LeakCanary

    什么是内存泄漏?

           内存泄漏是指因为疏忽或者错误造成程序未能释放已经不再使用的内存,内存泄漏不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误失去了对于这段内存的控制。因而造成内存的浪费。

           内存泄漏和内存溢出是两码事,不要混淆,内存溢出通俗的讲就是内存不够用,如今的仅仅能手机内存越来越大,内存溢出的情况不是非常多,可是内存泄露情况比較严重,LeakCanary的到来对我们来说是一个简单粗暴,直观的好工具


    上面这个图片就是这个工具的图标了,当你的程序处于debug模式的时候,就能看到他了,当然release没有


    LeakCanary作为一个简单粗暴的工具,使用方法也相当简单

    在build.gradle中引入LeakCanary

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
        releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'


    一个是debug包,一个是release包的,从引入包的结构也能看出端倪

    因为LeakCanary是測试整个app的内存泄露情况,所以你须要在你的application中启动它

    package com.zimo.guo;
    
    import android.app.Application;
    
    import com.squareup.leakcanary.LeakCanary;
    
    /**
     * Created by zimo on 15/8/7.
     */
    public class MyApplication extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            LeakCanary.install(this);
        }
    }
    

    ok,如今就能够測试程序中的内存泄露情况,直观明了


    这么有逼格的工具,赶紧来试试吧,要想使你的app的内存泄露灰飞烟灭,try it

  • 相关阅读:
    Java微信分享接口开发
    lintcode 刷题 by python 部分链表题总结(2)
    基于CART的回归和分类任务
    机器学习: K-means 聚类
    python 中的堆 (heapq 模块)应用:Merge K Sorted Lists
    名人、皇家谱系
    python实现数组和链表的归并排序
    Python 正则 —— 捕获与分组
    ArcGIS中的数据连接问题——数据类型不统一
    Spring boot 搭建
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7003690.html
Copyright © 2011-2022 走看看