这个演示展示了Allocation Tracker工具在Android Studio中的基本用法和流程。Allocation Tracker记录了一个app的内存分配,列出所有分配对象,用于分析他们调用堆栈,大小和分配代码周期。
它的优势:
确定哪里有许多来至大致相同的回调堆栈,类似的对象类型,在非常短的时间内分配和回收。
找到在你的代码中可能导致低效内存的地方。
在你使用Allocation Tracker之前,使用Memory Monitor工具分析你的代码。如果你看到在很短的时间内有许多垃圾回收事件,使用Heap Viewver来确定候选对象类型,Allocation Tracker来确定在你的代码哪里发生。
预备条件
----------------------------------------------------------------------------------------
一台打开开发者选项的手机。
应用程序代码,使用你自己的代码,或者Sunshine示例程序。
使用Allocation Tracker
----------------------------------------------------------------------------------------
Allocation Tracker记录了你的应用程序执行分析周期期间的每个内存分配。你告诉Allocation Tracker开始记录和它的日志分配,知道你告诉它停止。
将你的手机连接到你的电脑。
在你的Android Studio中打开你的应用程序,构建源代码,在你的设备或者模拟中运行它。
点击在你的Android Studion窗口底部的Android按钮。
如果你使用Andorid Device Monitor,点击在Android DDMS工具栏的RECODER按钮(开始Allocation Tracking tooltip)。如果你使用Android Studion,在Memory Monitor工具栏的点击图标。
交互你的应用程序。
点击STOP按钮(同一个)(停止Allocation Tracking tooltip)。
![图像](https://i-blog.csdnimg.cn/blog_migrate/6432b7569217aa2ac51cbcf99ffdaf46.png)
图1.在Android DDMS中启动Allocation Tracker步骤
几秒之后,一个记录你的数据的窗格打开。注意分配日志记录在设备中,这个数据文件传输到电脑,分析这些信息,并展示。
表格中的窗格。
每行代表一个内存分配事件。
每列代表关于分配的信息,例如对象类型,线程和它的大小。
每列可以移动,调整大小。
使用过滤器只显示你的App的分配。
点击一个对象来查看它的完整堆栈。
![图像](https://img-blog.csdnimg.cn/2022010706524494837.png)
图2.在Android DDMS中Allocation Tracker输出示例。