摘要:
这篇文章的小目标:了解抓取开机过程systrace的步骤 手机开机的过程,涉及的代码很多,如果能用systrace来分析,事半功倍。 首先分解开机各阶段的耗时,方便后续对照。 只需要在events log过滤boot_progress关键字,就可以得出开机各阶段的耗时。 device:/ $ log 阅读全文
摘要:
这篇文章的小目标: 1. systrace是怎么抓出来的 2. 这些信息的来源是什么 [Android systrace系列] systrace入门第一式 介绍了用命令行抓取systrace的方法。 打开systrace.py的目录,会发现一大堆python文件,让人以为抓取systrace的流程很 阅读全文
摘要:
一般用systrace分析问题,我们直接查看关注的流程即可。 有时logcat提供了重要的信息,但这些信息没有用systrace log输出。 如果我们能将systrace时间与手机时间对应起来,就不用添加systrace log重新编译手机ROM了。 这篇文章的小目标: 1. 计算systrace 阅读全文
摘要:
systrace最吸引人的地方,在于当你不了解所有业务逻辑时,依然可以通过线程间的阻塞关系,快速定位问题。 有了这篇文章的铺垫,后续的文章再开始分享技巧。 这篇文章的小目标:学会分析线程间的阻塞关系 之前,我们通过[Android systrace系列] systrace入门第一式学会了下面这些: 阅读全文
摘要:
Android systrace是分析性能问题最称手的工具之一,可以提供丰富的手机运行信息。 经过摸索,我们可以挖掘出许多技巧,分析问题更加得心应手。 第一篇文章,我先将systrace的官方文档引用一番,毕竟分析systrace的基本操作,是介绍后续技巧的铺垫。 希望我下面对官方文档的体会,能减少 阅读全文
摘要:
[教程] Android Native内存泄漏检测方法 列举了不同版本Android OS内存泄漏的检测操作,这一篇说一下Android Native内存泄漏检测的原理。 之前所说的内存泄漏检测,主要借助了Android 原生的libc_malloc_debug.so,这一种检测方法分为以下三步: 阅读全文
摘要:
通过cat /proc/$PID/smaps可以查看进程内存的详细映射情况。详细解析可以参考kernel的文档/Documentation/filesystems/proc.txt 如果我们的Android设备是USER版本,一般情况下我们没有权限查看各个APP进程的smaps文件。 其实Andro 阅读全文
摘要:
Android 检测 C/C++内存泄漏的方法越来越简便了,下面列举一下不同场景下检测C/C++内存泄漏的方法。 在介绍检查方法之前,先把一个技巧说在前头。因为打开检测开关,会严重影响手机性能,所以最好使用32位手机来检测,32位手机会顺畅一点。 Android 7.x / 8.x(针对root设备 阅读全文