安卓官方链接

Android 11
Android 版本

Android 安全功能
文件级加密(FBE)

OTA更新
A/B系统更新(无缝更新)
非A/B系统更新

动态分区

Android 平台测试
monkey测试
性能与功耗

两项用户指标:
	可预测、可察觉的性能;
	耗时操作所需的时间长短;

容量和抖动:
	容量, 是设备在一段时间内拥有的某种资源的总量。这种资源可以是 CPU 资源、GPU 资源、I/O 资源、网络资源、存储设备带宽或其他类似指标。
	抖动, 会妨碍系统快速运行,抖动是一种随机的系统行为,会阻止可察觉任务的运行。
	内存消耗, 虽然消耗本身不是性能问题,但是它可能会通过 lowmemorykiller 开销、服务重启和页面缓存颠簸引起抖动。
	
与负载能力相关的卡顿:
	调节器反应缓慢(CPU), CPU 频率调节器必须能对突发性的工作负载做出快速响应。;
	温控调频, 当设备必须减少整体热输出时,则会发生温控调频,通常通过减少 CPU、GPU 和 DRAM 时钟周期数来执行。;

与抖动相关的卡顿:
	应用线程调度程序延迟: 调度程序延迟是最明显的抖动征兆,具体表现为:尽管本应运行的进程处于就绪状态,但在相当长的一段时间内并未运行。
	中断流量
	长 softirq
	驱动程序停用抢占或 IRQ 的时间过长
	错误使用工作队列
	框架锁争用: 框架锁争用可能造成卡顿或其他性能问题。框架锁争用通常是由 ActivityManagerService 锁引起的,但也可能出现在其他锁中。如果您正在修改在 system_server 内部运行的代码,切记要避免长时间持有锁(尤其是 ActivityManagerService 锁).
	Binder 锁争用
	进程内的 fd 争用
	不必要的 CPU 空闲转换: 线程A 在CPU1 上运行;线程A 唤醒线程B;线程B 开始在CPU2 上运行;线程A 立即进入睡眠状态,待线程B 完成其当前工作后,由线程B 将线程A 唤醒;如果 CPU 2 空闲,它必须回到活动状态,然后线程 B 才可以运行。根据 SOC 和空闲的深度,线程 B 可能需要等待几十微秒才能开始运行。
	日志记录: 日志记录并非不会占用 CPU 周期或内存,因此,请勿滥用日志缓冲区。日志记录会消耗应用(直接)和日志守护程序的周期。在设备出库之前,请删除全部调试日志。
	I/O 问题
	激进式小任务打包: 一些调度程序支持将小任务打包到单个 CPU 内核上,从而让更多 CPU 在更长时间内保持空闲,以此降低功耗。
	页面缓存颠簸: 某个文件被读取的字节数超过了磁盘上该文件的总大小,毫无疑问,您遇到了页面缓存颠簸问题。

评估性能
管理应用内存
性能提示(微优化)

构建系统
构建安卓

平台架构
架构概览
硬件抽象层HAL
内核概览
AIDL安卓接口定义语言

你可能感兴趣的:(安卓基础,android)