Android优化工具

1. LeakCanary
LeakCanary用于内存泄露检测,并友好提示给开发者,便于分析和修改。
GitHub: 点击打开链接
LeakCanary中文使用说明: 点击打开链接
LeakCanary集成后会在Activity.onDestory()后会自动监测Activity的内存泄露,仍需要在Fragment.onDestory()后主动监测,保证其工作。
dump耗时较长,需要耐心等待。
后根据堆栈信息修复代码。
使用方法:
在Application中初始化:
public class MyApplication extends Application {
    //...
    private void leakCanary() {
        if (LeakCanary.isInAnalyzerProcess(this)) {
            return;
        }


        mRefWatcher = LeakCanary.install(this);
    }


    public RefWatcher getRefWatcher() {
        return mRefWatcher;
    }


    //提供获取方法
    public static RefWatcher getRefWatcher(Context context) {
        MyApplication application = (MyApplication) context.getApplicationContext();
        return application.getRefWatcher();
    }


}
监测Fragment:
public class BaseFragment extends Fragment {
    protected Context mContext;


    @Override public void onAttach(Context context) {
        super.onAttach(context);
        this.mContext = context;
    }

    @Override public void onDestroy() {
        MyApplication.getRefWatcher(mContext)
                .watch(this);
        super.onDestroy();
    }
}
2. CrashWoodPecker
GitHub: 点击打开链接
A nice uncaught exception handler library likes Square’s LeakCanary. Support showing logs both on Logcat & Woodpecker.
优雅的异常捕捉并提示。
public class MyApplication extends Application {
  @Override public void onCreate() {
    super.onCreate();
    if (BuildConfig.DEBUG) {
       CrashWoodpecker.flyTo(this);
    }
  }
}
3. BlockCanary
GitHub: 点击打开链接
BlockCanary — 轻松找出Android App界面卡顿元凶: 点击打开链接
BlockCanary分析android卡顿: 点击打开链接
这个库使用了Looper.getMainLooper().setMessageLogging(mainLooperPrinter);
来侵入式的检测,确实不一般。
通过该方法修改卡顿上限:
    public int provideBlockThreshold() {
        return 1000;
    }
4. 代码审查工具
静态代码检查工具:Android studio—Analyze—Inspect Code.../Code cleanup...
Android lint工具是Android studio中集成的一个代码提示工具,它主要负责对你的代码进行优化提示,包括xml和java文件,很强大。
编写完代码及时进行lint测试,会让我们的代码变得非常规范而且避免代码冗余。让我们及时发现代码中隐藏的问题。
举个例子:我们在代码中建立全局变量,而这个变量实际并不需要全局便利,lint在检测之后会提示我们改成局部变量,这对内存优化是一个很强大的促进手段。
如何使用:
Android优化工具_第1张图片

可以看到有Inspect Code,翻译就是检测代码
Android优化工具_第2张图片
点击选择whole project(整个项目)即可。

除此之外还有:FindBugs、FireLine.


5. TraceView
TraveView是Android studio集成的一个性能优化工具,相信很多人都知道它,但是用到它的应该不多,它的使用比较复杂,应该说理解比较复杂。它主要计算工程内方法运行所占用的时间,调用次数,以此来优化App运行效率。
例如:一个方法,占用时间比较长,但是调用次数少,那么你就要检测这个方法耗时在什么地方,由什么原因导致?

6.Hierarchy Viewer
hierarchyviewer:检测布局复杂度
打开Hierarchy Viewer
启动Android Device Monitor成功之后,在新的的窗口中点击切换视图图标,选择Hierarchy Viewer,如下图:

Android优化工具_第3张图片


7、内存泄漏AMT


你可能感兴趣的:(IT)