Android Developer:Allocation Tracker演示

这个演示展示了Allocation Tracker工具在Android Studio中的基本用法和流程。Allocation Tracker记录了一个app的内存分配,列出所有分配对象,用于分析他们调用堆栈,大小和分配代码周期。

它的优势:

  • 确定哪里有许多来至大致相同的回调堆栈,类似的对象类型,在非常短的时间内分配和回收。
  • 找到在你的代码中可能导致低效内存的地方。

在你使用Allocation Tracker之前,使用Memory Monitor工具分析你的代码。如果你看到在很短的时间内有许多垃圾回收事件,使用Heap Viewver来确定候选对象类型,Allocation Tracker来确定在你的代码哪里发生。

预备条件

----------------------------------------------------------------------------------------

  • 一台打开开发者选项的手机。
  • 应用程序代码,使用你自己的代码,或者Sunshine示例程序。

使用Allocation Tracker

----------------------------------------------------------------------------------------

Allocation Tracker记录了你的应用程序执行分析周期期间的每个内存分配。你告诉Allocation Tracker开始记录和它的日志分配,知道你告诉它停止。

  1. 将你的手机连接到你的电脑。
  2. 在你的Android Studio中打开你的应用程序,构建源代码,在你的设备或者模拟中运行它。
  3. 点击在你的Android Studion窗口底部的Android按钮。
  4. 如果你使用Andorid Device Monitor,点击在Android DDMS工具栏的RECODER按钮(开始Allocation Tracking tooltip)。如果你使用Android Studion,在Memory Monitor工具栏的点击图标。
  5. 交互你的应用程序。
  6. 点击STOP按钮(同一个)(停止Allocation Tracking tooltip)。

图1.在Android DDMS中启动Allocation Tracker步骤

  1. 几秒之后,一个记录你的数据的窗格打开。注意分配日志记录在设备中,这个数据文件传输到电脑,分析这些信息,并展示。
  2. 表格中的窗格。
    • 每行代表一个内存分配事件。
    • 每列代表关于分配的信息,例如对象类型,线程和它的大小。
    • 每列可以移动,调整大小。

使用过滤器只显示你的App的分配。

  1. 点击一个对象来查看它的完整堆栈。

图2.在Android DDMS中Allocation Tracker输出示例。

时间: 2024-12-17 21:59:01

Android Developer:Allocation Tracker演示的相关文章

This Android SDK requires Android Developer Toolkit version 23.0.0 or above

This Android SDK requires Android Developer Toolkit version 23.0.0 or above. Current version is 12.0.0.v201106281929-138431. Please update ADT to the latest version 22.0.0 一般这种原因是误更新了SDK,导致SDK版本过高,ECLIPSE提示需要更新ADT. 解决办法如下: 找到android-sdk-windows\tools

Android Developer:内存分析器

Heap Viewer,Memory Monitor和Allocation Tracker是用来可视化你的app使用内存的补充工具. 使用Memory Monitor Tool来发现是否有不好的内存回收时间导致你的性能问题. 运行Heap Viewer来确定获取或者保持不希望或者不必要的对象类型. 使用Allocation Tracker来确定你的哪里的代码会存在问题. Memory Monitor ------------------------------------------------

解决在sdk manager中更新文件后出现This Android SDK requires Android Developer Toolkit version 23.1的错误

起因:在sdksdk manager中更新了adt及其他的支持库后,eclipse报错:This Android SDK requires Android Developer Toolkit version 23.1的错误.可是sdksdk manager中明明显示23.1的adt是已经installed的了呀,这就奇怪了.. 解决办法:Help -> Install New Software -> Add ->http://dl-ssl.google.com/android/eclip

[转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above

问题描述: 上一篇讲到解决Appcompat_V7问题要降低adt版本,于是就换旧版本22.3.0啊,重新打开Eclipse,立马弹出: This Android SDK requires Android Developer Toolkit version 23.0.0 or above.  Current version is 12.0.0.v201106281929-138431. 一般这种原因是误更新了SDK,导致SDK版本过高,ECLIPSE提示需要更新ADT. 于是我觉得是我的sdk版

this android sdk requires android developer toolkit version

this android sdk requires android developer toolkit version 10.0.0 or above. current version is 8.0.1.v201012062107-82219. please update adt to the latest version 解决HELP-INSTALL NEW SOFTWARE-ADT - https://dl-ssl.google.com/android/eclipse/ this andro

android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 public class MainActivity extends Activity { Button button1; @Override protected void onCreate(Bundle savedInstanceState) { su

[share]How to Become a Lazy but Productive Android Developer

How to Become a Lazy but Productive Android Developer How can we optimize throughput time for writing the business logic for the app and avoid lazy code to write? by Paresh Mayani · Dec. 16, 13 · Mobile Zone Like (1) Comment (3) Save Tweet 21.63k Vie

【边做项目边学Android】小白会遇到的问题--This Android SDK requires Android Developer Toolkit version 23.0.0 or above

问题描写叙述: 上一篇讲到解决Appcompat_V7问题要减少adt版本号,于是就换旧版本号22.3.0啊,又一次打开Eclipse.立刻弹出: This Android SDK requires Android Developer Toolkit version 23.0.0 or above.  Current version is 12.0.0.v201106281929-138431. 一般这样的原因是误更新了SDK,导致SDK版本号过高,ECLIPSE提示须要更新ADT. 于是我认为

微软职位内部推荐-Senior Android Developer

微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: Winnie Wei ([email protected]) Location: Beijing Roles & Responsibilities: As a Software Design Engineer, you will work with PM, UX and Test teams to