性能优化04_性能优化工具Allocation Tracker和LeakCanary、Lint

Android性能优化汇总

一 Allocation Tracker

1 作用

追踪内存分配信息。可以很直观地看到某个操作的内存是如何进行一步一步地分配的

2 使用

  1. 在Memory窗口中点击图中标红的部分,启动追踪,再次点击就是停止追踪,随后自动生成一个alloc结尾的文件,这个文件就记录了这 次追踪到的所有数据,然后会在右上角打开一个数据面板:
    在这里插入图片描述

  2. 查看内容
    Arrange by package:用包来分类分类内存分配
    Arrange by class:用类来分类分类内存分配
    在这里插入图片描述

  3. 找到自己定义的类,跳转对应的源码

在这里插入图片描述
旧版的AndroidStudio支持统计视图,以柱状图或者轮胎图显示
可以选择分配次数和占用内存大小,默认是大小Size

二 LeakCanary

github搜索 LeakCanary

1 实现原理:

本质上还是用命令控制生成hprof文件分析检查内存泄露。

2 快速集成

build.gradle

dependencies {
  // debugImplementation because LeakCanary should only run in debug builds.
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.1'
}

3 相比旧版,不需要在Application中集成

运行app后,日志 过滤LeakCanary,打印: Installing AppWatcher表明集成成功

4 使用

当出现内存泄漏时,会有log打印

在这里插入图片描述

三 Lint

1 Lint作用:

  • 检测资源文件是否有没有用到的资源。
  • 检测常见内存泄露
  • 安全问题SDK版本安全问题
  • 是否有费的代码没有用到
  • 代码的规范—甚至驼峰命名法也会检测
  • 自动生成的罗列出来
  • 没用的导包
  • 可能的bug

2 使用:

在这里插入图片描述

发布了224 篇原创文章 · 获赞 69 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/baopengjian/article/details/103963519