安卓性能调优工具简介(转)

Traceview 

Traceview是执行日志的图形查看器。这些日志通过使用Debug类记录。 Traceview可以帮助调试应用和profile性能。

Traceview布局

Traceview可以加载trac日志文件(通过添加跟踪代码添加到应用或由DDMS生成)。TraceView的界面分为两部分,上面是时间线面板(Time Panel),描述了当每个线程和方法的启动和停止时间。下面是profile面板,概述方法所做的事情,如下图所示:

时间线面板:

profile面板:

 

生成跟踪日志

有两种方法可以生成跟踪日志:
在代码中包含Debug类并调用其方法,如startMethodTracing()和stopMethodTracing(),这种方法很精确。
使用DDMS的profile分析功能来生成跟踪日志。不太准确,不能够访问应用程序的代码或不需要精确的记录时间时使用。

注意:如果使用Debug类,应用程序必须具有外部存储的写权限(WRITE_EXTERNAL_STORAG​​E)。


1

2

3

4

5

// start tracing to "/sdcard/calc.trace"

Debug.startMethodTracing("calc");

// ...

// stop tracing

Debug.stopMethodTracing();

应用调用startMethodTracing()时,系统会创建<trace-base-name>.trace文件。这包含二进制方法跟踪数据和线程及方法名映射表。

然后系统开始缓冲生成的跟踪数据,直到应用程序调用stopMethodTracing(),此时将其缓冲的数据写入到输出文件中。如果系统调用stopMethodTracing前达到最大缓冲器大小,系统停止trace并发送通知给控制台。

开启profile时,解释的代码运行速度会较慢,并不代表实际执行速度。

在Android的4.4和更高版本,取样会减少性能影响。使用startMethodTracingSampling()即可,停止依旧使用stopMethodTracing()。

执行实例:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

C:\Users\Administrator>adb pull /mnt/sdcard/tc.trace /tmp/tc.trace

 

C:\Users\Administrator>adb shell am start -n com.mamlambo.article.simplecalc/.MainActivity

Starting: Intent { cmp=com.mamlambo.article.simplecalc/.MainActivity }

 

C:\Users\Administrator>adb shell am profile com.mamlambo.article.simplecalc start /mnt/sdcard/tc.trace

 

C:\Users\Administrator>adb shell am profile com.mamlambo.article.simplecalc stop

 

 

C:\Users\Administrator>adb pull /mnt/sdcard/tc.trace /tmp/tc.trace

1352 KB/s (2429326 bytes in 1.754s)

 

 

C:\Users\Administrator>traceview c:\tmp\tc.trace

The standalone version of traceview is deprecated.

Please use Android Device Monitor (tools/monitor) instead.

注意:若出现mkdir failed for img Read-only file system,在执行 adb shell 命令后执行mount -o remount ,rw /即可

 

http://www.cnblogs.com/pythontesting/p/4935451.html

时间: 2024-10-06 10:11:42

安卓性能调优工具简介(转)的相关文章

Linux常用性能调优工具索引

blog.yufeng.info  前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到Linux常用性能调优工具, 见下图: 其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引下: nicstat: 参见 这里 oprofile: 参见 这里 perf: 参见 这里 systemtap: 参见 这里 iotop: 参见 这里 blktrace: 参见 这里 dstat

Android性能调优工具TraceView介绍

Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以方便的查看线程的执行情况,某个方法执行时间.调用次数.在总体中的占比等,从而定位性能点.1.生成日志,运行TraceView 运行TraceView有两种方式a.调用Debug类 在开始调试的地方,如Activity的onCreate函数,添加 Java 1 Debug.startMethodTracing("tracefilename"); 结束调试的地方,如Activity的onDestr

IBM WebSphere应用服务器性能调优工具介绍

WebSphere Application Server Performance Tuning Toolkit (PTT) 是一款功能丰富且简单易用的调优工具,其安装和使用都非常简单,用户不需要在服务器端进行任何配置,只要在客户端指定要连接的 dmgr 的 IP 地址和 soap 端口就可以对远程系统进行监控和调优.同时它又是一款绿色软件,下载解压后即可启动,并且可以随意拷贝到任何其他地方.作为系列文章的第一部分,本文将简单介绍 PTT 的主要功能. WebSphere Application

HTML 5应用性能调优工具WAPA简介

WAPA来源 WAPA是Web Application Performance Analyzer(Web应用性能分析器)的简称,其来源于Intel软件与服 务部门全球合作伙伴关系事业部HTML5应用团队的创新项目.旨在给开发者提供如何编写高性能HTML5应用程序提供代码级别 的建议. 众所周知,Web应用很长一段时间因为其性能底下的问题,无法和本地应用在用户体验上相媲美,随着 HTML5以及移动终端性能的快速发展,Web应用即将呈现一个井喷的趋势,不管是在其数量上,还是质量上.但是如何编写高 效

Linux下的系统性能调优工具——Perf

1. 背景知识 1.1 与性能调优相关的硬件特性 硬件特性之cache 内存读写是很快的,但还是无法和处理器的指令执行速度相比.为了从内存中读取指令和数据,处理器需要等待,用处理器的时间来衡量,这种等待非常漫长.Cache 是一种 SRAM,它的读写速率非常快,能和处理器处理速度相匹配.因此将常用的数据保存在 cache 中,处理器便无须等待,从而提高性能.Cache 的尺寸一般都很小,充分利用 cache 是软件调优非常重要的部分. 硬件特性之流水线,超标量体系结构,乱序执行 提高性能最有效的

在 RedHat Linux 上做性能调优

在 RedHat Linux 上做性能调优 性能调优的目的是提高系统性能,减少电力消耗,或者减轻某个应用对系统中其它应用的影响.但是如果贸然地,没有适当的手段进行系统调优,那可能会产生负面效果. 如果我们有系统有计划地进行性能调优,那么它就会成为严谨的科学探索而不是随心所欲的艺术行为. 具体方法 首先我们需要弄明白"正常"的系统性能情形是什么样的. 查找潜在的性能问题并进行参数调优来修复.观察这些调整对系统的影响并决定是否确认保持这种调整或者恢复到调整前的状态. 概要: 收集数据,建立

如何在RedHat Linux上做性能调优

性能调优的目的是提高系统性能,减少电力消耗,或者减轻某个应用对系统中其它应用的影响.但是如果贸然地,没有适当的手段进行系统调优,那可能会产生负面效果. 如果我们有系统有计划地进行性能调优,那么它就会成为严谨的科学探索而不是随心所欲的艺术行为. 具体方法 首先,我们需要弄明白"正常"的系统性能情形是什么样的. 查找潜在的性能问题并进行参数调优来修复.观察这些调整对系统的影响并决定是否确认保持这种调整或者恢复到调整前的状态. 概要: 1.收集数据,建立基准. 2.开启 tuned 功能并选

sqlserver性能调优经验总结_MsSql

相信不少的朋友,无论是做开发.架构的,还是DBA等,都经常听说"调优"这个词.说起"调优",可能会让很多技术人员心头激情澎湃,也可能会让很多人感觉苦恼.当然,也有很多人对此不屑一顾,因为并不是每个人接触到的项目都很大,也不是每个人做的项目都对性能要求很高. 在主流的企业级开发和互联网应用中,数据库的重要性是不言而喻的,而数据库的性能对于整个系统的性能而言也是至关重要的,这里无庸赘述. sqlserver的性能调优,其实是个很宽广的话题.坦白讲,想从概念到实践的完全讲

sqlserver性能调优入门篇

相信不少的朋友,无论是做开发.架构的,还是DBA等,都经常听说"调优"这个词.说起"调优",可能会让很多技术人员心头激情澎湃,也可能会让很多人感觉苦恼.当然,也有很多人对此不屑一顾,因为并不是每个人接触到的项目都很大,也不是每个人做的项目都对性能要求很高. 在主流的企业级开发和互联网应用中,数据库的重要性是不言而喻的,而数据库的性能对于整个系统的性能而言也是至关重要的,这里无庸赘述. sqlserver的性能调优,其实是个很宽广的话题.坦白讲,想从概念到实践的完全讲