Fork me on GitHub
摘要: *注:基于Android11源码 ServiceManager进程是在init进程创建的,所以我们从init进程的main()开始分析: // 文件路径: system/core/init/main.cpp int main(int argc, char** argv) { ... if (!str 阅读全文
posted @ 2024-07-14 18:27 yooooooo 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 启动阶段使能event trace 同上,配置commandline: trace_event=sched:*,timer:*,irq:* trace_buf_size=40M 有上面的实例可以知道,ftrace除了能够在运行阶段动态配置使能和关闭,也可以利用命令行来进行配置操作,这主要是针对boo 阅读全文
posted @ 2024-07-14 10:49 yooooooo 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 简介 高通 ramdump 可以解析出 ftrace,方便用于追踪 快省稳 问题。 kernelshark 是一个可以查看 trace event 的图形化工具,方便梳理和观察内核微观行为。 trace-cmd 是设置读取 ftrace 的命令行工具,kernelshark既可以记录数据,也可以图形 阅读全文
posted @ 2024-07-14 10:45 yooooooo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 如果将block的内存属性配置成Non-cacheable,那么数据就不会被缓存到cache,那么所有observer看到的内存是一致的,也就说此时也相当于Outer Shareable。 其实官方文档,也有这一句的描述: 在B2.7.2章节 “Data accesses to memory loc 阅读全文
posted @ 2024-07-13 10:45 yooooooo 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1. 关机流程 Android上层触发关机的入口很多,但最终几乎都是调用ShutdownThread.shutdown来实现。如下是一些常见的调用关机的点: StatusBarManagerService#shutdown, 这个主要是对接SystemUI(StatusBarManager是Andr 阅读全文
posted @ 2024-07-10 17:49 yooooooo 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 在 perf 工具生成的火焰图中看到 [kernel.kallsyms],通常意味着火焰图中包含内核符号,但这些符号没有被正确解析。这可能是由于以下几个原因导致的: 内核符号表不可用或不完整:perf 工具需要内核的符号表来解析这些符号。如果内核符号表不可用或不完整,可能会出现 [kernel.ka 阅读全文
posted @ 2024-07-10 11:51 yooooooo 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 很多时候,写代码是一件很爽的事情,但最后需要对APP进行瘦身、性能分析却是一件很棘手的事情。当需要对APP的性能进行分析时,Simpleperf是一个简单快捷的选择。 正文开始前,先奉上官方的资料: Simpleperf命令和选项参考 Simpleperf 用法 什么是Simpleperf Simp 阅读全文
posted @ 2024-07-09 18:33 yooooooo 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1. 正文 Systrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的 阅读全文
posted @ 2024-07-09 17:35 yooooooo 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1. 正文 1.1 线程状态查看 Systrace 会用不同的颜色来标识不同的线程状态, 在每个方法上面都会有对应的线程状态来标识目前线程所处的状态,通过查看线程状态我们可以知道目前的瓶颈是什么, 是 cpu 执行慢还是因为 Binder 调用, 又或是进行 io 操作, 又或是拿不到 cpu 时间 阅读全文
posted @ 2024-07-09 17:34 yooooooo 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1.正文 今天来讲一下为何我们讲到流畅度,要首先说 60 帧。 我们先来理一下基本的概念: 60 fps 的意思是说,画面每秒更新 60 次 这 60 次更新,是要均匀更新的,不是说一会快,一会慢,那样视觉上也会觉得不流畅 每秒 60 次,也就是 1/60 ~= 16.67 ms 要更新一次 在理解 阅读全文
posted @ 2024-07-09 17:34 yooooooo 阅读(3) 评论(0) 推荐(0) 编辑