Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • tutorial
  • jetpack

  • components

  • androidx

  • 动态化
  • apm

  • module

  • harmony

  • tool

  • other

    • Flutter 高频面试问答
    • 生产环境Message分发处理设计
    • 事件分发机制
    • 调研抖音对harmonyOS4的优化
      • 调研
      • 结论
    • Android 评论at功能的实现
    • 探索抖音禁止录屏
    • 对32位手机崩溃的优化记录
    • GradientDrawable
    • android window
    • color
    • webview白屏检测
    • android Resource
    • deeplink技术
    • android-xml
    • ANDROID IPC
    • BottomSheetBehavior研究与思考
    • viewPager
    • Android密钥系统
    • compiler
    • 提升UI加载速度的几点思考
    • Android零耗时首帧体验
    • jsbridge
    • retrofit动态代理设计
    • gif与属性动画的对比
  • kotlin

  • 《android》
  • other
Jacky
2024-02-20
目录

调研抖音对harmonyOS4的优化

因为业务原因, 我们发现竞品抖音 app 在 harmonyOS 4 上, 通过手势退到后台, 短视频的暂停速度非常快。 而一般的暂停播放方式是在 'Fragment#onPause'. 在手势上滑, 退出到当前应用到后台的场景下, 'Fragment#onPause' 会在动画结束后才会回调。 导致已经退到桌面很久了, 但是音频还没有暂停, 对用户的体验不是很好

环境

  1. os: harmonyOS 4
  2. 抖音 version: 28.0+

# 调研

这里总结了调研的一些思路和步骤

  1. harmony 4 开发文档, 了解新特性. 网站 (opens new window)

  2. debug 抖音 app, 见链接 在 android 13 系统下,抖音退后台暂停也是通过 Fragment#onPause 如下图:

  3. 通过 apktool 反解成 smali: apktool d -r {apk}, 然后搜索, 'harmony' 关键字。这里我先过滤了 'const-string' 指令

    • rg 'const-string' --glob '*.smali' > const_string.txt
    • rg 'harmony' const_string.txt: 再次过滤
  4. frida, objection 查找内存加载模块, 可以看看是否有鸿蒙相关的功能等等

  5. root 鸿蒙 4.0 系统, 对比抖音和拼多多播放器暂停调用堆栈

# 结论

这一篇的结论有些戏剧性: 其实抖音通过手势上滑退到后台, 也采取的 Fragment#onPause 中暂停。但是重点来了: 鸿蒙系统对视频类应用会提前调用 onPause, 让应用页面提前进入 pause, 提前响应视频音频暂停。 (这也是跟华为客服沟通了解到的)

申请步骤:
  1. 发送申请邮件过来, 说明下具体背景和情况, 华为内部去评估下看能否给配置 邮件地址为: [email protected]、[email protected]、[email protected]、[email protected]、[email protected]
  2. 作废,不能申请
#douyin
上次更新: 2025/10/09, 23:53:03
事件分发机制
Android 评论at功能的实现

← 事件分发机制 Android 评论at功能的实现→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式