每日签到
奶昔超市
积分商城
奶昔访达
添加到桌面
收藏本站
切换到宽版
板块
NaixiBBS
扩展
Fun
登录
注册
奶昔论坛
»
板块
›
内容区
›
技术
›
我们是怎么让 Android 流畅的?流畅性优化三阶段实施方 ...
返回列表
发布新帖
查看:
650
|
回复:
7
[开发]
我们是怎么让 Android 流畅的?流畅性优化三阶段实施方案
Yangsh888
Yangsh888
当前离线
积分
518
雷达卡
发表于 2025-11-12 21:59:47
|
查看全部
|
阅读模式
登录后免广告,享受更多奶昔会员权益!
您需要
登录
才可以下载或查看,没有账号?
注册
×
整个工作将分为用户调研、开发、测试三个阶段推进,每个阶段聚焦核心目标,层层递进保障流畅性体验。
用户调研的核心,是明确用户对流畅性的核心关注点,以及这些关注点对体验的影响程度。首先会开展一轮用户调研,筛选出用户实际关注的流畅性相关场景。
针对这些场景设计评分量表,通过用户评分挖掘场景的实际意义。比如返回桌面场景的 7 分制评分中,1-3 分为满意、4 分为一般、5-7 分为不满意,数据显示超过 500 毫秒用户就会不满意,这类阈值会作为后续工作的核心输入标准,每个调研场景都会对应产出专属阈值。
进入开发阶段后,核心原则是保留已有优化成果,同时严防性能劣化。这一阶段会用到三个核心工具,且工具触发均有明确条件 —— 用户指标方面包括掉帧、持锁大于 8ms、binder 调用耗时等,性能指标则聚焦动画期间的 io 操作、广播注册、find service 等潜在性能问题。
O-StrictMode 工具检测到问题后,会将 backtrace 以蓝屏形式打印;Trace Analyzer 能自动分析 trace 文件,过滤无效 trace 和未抓到时间点的问题,对有效 trace 直接定位根因,减少手动分析成本、提升效率;MTrace 作为轻量型 Trace 增强工具,思路类似 measure instrumention,并非采样方案。
它会在打开后直接读取寄存器上的函数地址和时间戳,通过 TLS 无锁的 RingBuffer 存储,结束后再落盘保存。之所以需要 MTrace,是因为现有工具存在局限:perfetto 功能全面但需预先埋点,cpu profiling 能满足大部分需求但要求 app 有 debug 或 profile 权限,且会强制转换为解释执行导致性能下降,BTrace 虽对 app 友好,但对 Framework 过重、缺少动态性且性能损耗大。
MTrace 与 perfetto 结合后,能补充更详细的调用链信息,比如明确 doFrame 大于 200ms 时的具体运行内容、定位大量布局 layout 导致的耗时,或是像三方输入法周期性卡顿这样的问题 —— 此前仅通过 trace 无法定位根因,结合 MTrace 后发现,每一帧的字符串操作导致内存持续增长,进而触发 GC 造成卡顿,最终锁定系统层 bug。
测试阶段以整机测试为核心,重点强化监控能力,同样依赖三个关键工具。第一个是 Touch Go,这是基于图形框架的 AI 自动化工具,替代了高成本的机械臂点击方案。
下发测试 case 时,手机端会录屏并抓取每一帧数据,传输到 PC 端通过 OpenCV 做图形解析,进而得出帧率变化、流畅性曲线等数据,通过判断帧的开始和结束阈值计算帧时延,能精准获取单场景下的动画时延,但无法覆盖复合场景。
复合场景的长链路性能问题,需依靠 Perf Test 工具解决。它是基于 Trace 的自动化测试工具,通过 SQL 自动分析,能拆解亮屏 - 全搜 - 输入法弹出 - 启动应用这类长链路操作。
工具会先根据 tag 提取对应的 trace 文件并分割,拆解出解锁进桌面、启动应用、返回桌面等子场景,再提取各子场景的用户面指标(如时延)和技术面指标(如 CPU、RAM、IO 使用状况)。
同时会给 trace 标注标签,包括场景信息、抬手位置、点击事件、每一帧的第一帧绘制时间点等,结合进程线程名、深度等 SQL 信息计算耗时,最终将结果以 json 格式保存,还能整合多轮测试数据形成表格,部署在流水线上监控每个版本的指标变化。
最后是 Perf Metric 工具,它基于前两个工具做整体负载分析。在长时间运行测试模型后,会全面拆解过程中的所有用户面和技术面指标,清晰呈现不同版本间的性能整体变化情况,方便及时发现问题并协同研发解决。
爱生活,爱奶昔~
回复
使用道具
举报
照妖镜
Godtokoo
Godtokoo
当前离线
积分
9499
雷达卡
发表于 2025-11-12 22:52:11
来自手机
|
查看全部
这么高产的吗
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
Yangsh888
Yangsh888
当前离线
积分
518
雷达卡
楼主
|
发表于 2025-11-12 22:57:42
|
查看全部
Godtokoo 发表于 2025-11-12 22:52
这么高产的吗
都是以前写的,发在朋友圈或者哪里,顺便搬过来
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
Yangsh888
Yangsh888
当前离线
积分
518
雷达卡
楼主
|
发表于 2025-11-12 22:58:34
|
查看全部
主要还是希总太有实力了,我也想不出发些啥,就搬搬这些,希望希总不会怪我
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
oicq
oicq
当前离线
积分
344
雷达卡
发表于 2025-11-12 23:19:06
|
查看全部
家豪你好
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
周杰伦
周杰伦
当前离线
积分
2256
雷达卡
发表于 2025-11-13 09:42:10
|
查看全部
太有实力了
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
kinghost
kinghost
当前离线
积分
324
雷达卡
发表于 2025-11-13 10:22:10
|
查看全部
牛逼
爱生活,爱奶昔~
回复
使用道具
举报
照妖镜
梨子精
梨子精
当前离线
积分
152
雷达卡
发表于 2025-11-13 14:32:06
|
查看全部
好厉害啊
爱生活,爱奶昔~
回复
支持
反对
使用道具
举报
照妖镜
返回列表
发布新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
云计算
推广
科技
站务
金融
茶馆
相关网站
9eSIM
eSTKme
eSIM.GG
RedteaGO
蚊子玩卡
站内导航
RSS
Sitemap
CDK
SSO
更多...
站务支持
用户认证制度
User Verification System
获取邀请码
广告招商
联系支持
卡粉专属群
加入官方群
© 2026
Naixi Networks
.
沪ICP备13020230号-1
|
沪公网安备 31010702007642号
手机版
小黑屋
RSS
返回顶部
关灯
在本版发帖
快速回复
返回顶部
返回列表