调研抖音对harmonyOS4的优化
因为业务原因, 我们发现竞品抖音 app 在 harmonyOS 4 上, 通过手势退到后台, 短视频的暂停速度非常快。 而一般的暂停播放方式是在 'Fragment#onPause'. 在手势上滑, 退出到当前应用到后台的场景下, 'Fragment#onPause' 会在动画结束后才会回调。 导致已经退到桌面很久了, 但是音频还没有暂停, 对用户的体验不是很好
环境
- os: harmonyOS 4
- 抖音 version: 28.0+
# 调研
这里总结了调研的一些思路和步骤
harmony 4 开发文档, 了解新特性. 网站 (opens new window)
debug 抖音 app, 见链接 在 android 13 系统下,抖音退后台暂停也是通过
Fragment#onPause如下图:
通过 apktool 反解成 smali:
apktool d -r {apk}, 然后搜索, 'harmony' 关键字。这里我先过滤了 'const-string' 指令rg 'const-string' --glob '*.smali' > const_string.txtrg 'harmony' const_string.txt: 再次过滤
frida, objection 查找内存加载模块, 可以看看是否有鸿蒙相关的功能等等
root 鸿蒙 4.0 系统, 对比抖音和拼多多播放器暂停调用堆栈
# 结论
这一篇的结论有些戏剧性: 其实抖音通过手势上滑退到后台, 也采取的 Fragment#onPause 中暂停。但是重点来了: 鸿蒙系统对视频类应用会提前调用 onPause, 让应用页面提前进入 pause, 提前响应视频音频暂停。 (这也是跟华为客服沟通了解到的)
- 发送申请邮件过来, 说明下具体背景和情况, 华为内部去评估下看能否给配置
邮件地址为:
[email protected]、[email protected]、[email protected]、[email protected]、[email protected] - 作废,不能申请
上次更新: 2025/10/09, 23:53:03