Android Profiler in Android Studio 2.4 preview

原文:Android Profiler in Android Studio 2.4 preview

在Android Studio 2.4 preview版本中,Android Profiler窗口代替了Android Monitor。Android Profiler是一个先进的分析工具,能够实时展示cpu数据更新、内存和网络活动。

Android Profiler的默认窗口如图一,它为每个分析器显示了一个简化的数据集。使用Android Profiler,首先①选择设备②选择想要分析的应用进程,然后点击其中一个图就可以看到更详细的时间表。每个视图都有③时间轴缩放控件,④Go Live是一个跳转查看实时数据的按钮,⑤事件时间线(event timeline),可以显示activity生命周期、查看所有input事件和屏幕旋转事件

这里写图片描述


CPU Profiler(CPU 分析器)
CPU分析器显示了app进程的实时CPU使用情况和系统的CPU使用时间轴。
你可以①选择模式方法追踪(method traces)或者是基于样本的追踪(Sampled),然后点击②Record开始追踪。当你完成一段录制,③时间轴显示了这一次录制的范围,④可以查看每个线程的状态⑤类似与MAT的作用,还可以看到一个录制时间内所执行的方法的图表。

这里写图片描述


Memory Profiler(内存分析器)
Memory Profiler视图整合了Heap Viewer,Allocation Tracker和Memory Monitor的特性,所以你可以通过Memory Profiler一个接口完成四种操作:观察对象分配的实时数量,观察一段时间内的垃圾收集事件,capture heap dumps,录制内存分配。
Menory Profiler根据左侧Y轴的内存刻度,显示了你的应用程序在一段时间内所使用的内存。每种内存类型(例如Java,Native,和Graphics)都在图表上使用不同的颜色来表示。根据右侧Y轴的刻度,使用虚线来显示应用程序所分配的对象的总数。顶点上可以看到数值。

在窗口的工具栏顶部有三个按钮可以①Force garbage collection,(2) Capture a heap dump, (3) Record memory allocations.

这里写图片描述
上面是捕获一次heap dump或者录制一段内存分配的结果显示。④显示了时间轴内录制事件。结果显示在时间轴下面的窗口⑤中。在⑤中点击选择一个类,在右边的窗口⑥中会出现这个类的所有实例。点击窗口⑥选中一个实例对象,下方会出现窗口⑦。窗口⑦显示的是内存分配的堆栈跟踪(顶部栏点击Record memory allocations)或者显示的是剩余对该对象的引用(顶部栏点击Capture a heap dump)。

你还可以在跟踪内存分配的同时捕获一段dump heap,这样可以查看dump heap中的堆栈跟踪(for objects allocated after allocation was turned on 观察内存分配打开后新分配对象???)


Network Profiler(网络分析器)
Network Profiler展示了时间线上的实时网络活动,显示了发出和收到的数据和当前的网络连接数量。在窗口的顶部,你可以看到事件的时间线和①无线信号的强弱和wifi
在时间线上,可以②点击和拖动一部分的时间线来检测流量,然后在窗口③中会显示所选时间段内收发的文件,包括文件名,大小,类型,状态和花费时间。你可以对窗口③的列表根据列来进行排序。还可以查看所选时间段的详细拆分,拆分的timeline可以显示文件是什么时候收发的。
点击窗口③的其中一个文件,可以在窗口④中查看文件的详细信息。通过切换窗口④上方标签可以查看response data(响应数据), header information, or the call stack(调用栈).
这里写图片描述

Network Connection Troubleshooting
如果Network Profiler不能识别当前所支持的网络请求,会出现错误信息:

“No connections supported for instrumentation.” 

目前,Network Profiler 只支持通过HttpURLConnection library来连接网络,如果你的app使用其他网络library连接网络,则无法使用Network Profiler来调试。


Tips
使用红米手机无法连接上Android Profile,换成Nexus 5x后可以连接。通过googleAndroid Profiler does not recognise older device: Samsung Galaxy Nexus,官方的答复是

The minimum API supported by the new Android Profiler is API 21. We have improved messaging to make this explicit.

另外,Mbp i5 8G使用Android Profile,我感觉Mac可能随时会起飞上天….
也有可能我会随时上天,BoomShakalaka!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值