Skip to content
Menu
CFC Studio
  • 实验室主页
  • CFC 招新简章
  • 友情链接
  • RSS订阅
CFC Studio

React Native Android 性能分析指南

Posted on 2017年8月30日2017年9月2日 by 知秋

React Native on Android 性能分析指南.md

React Native 的性能可分为两部分:启动性能和运行时性能,后者较为普遍,官方文档中也有着详细的说明如何去分析及优化 UI 性能。本文着重讲述如何进行启动性能分析。

Systrace 是内置在 Android 里的性能分析工具,React Native Android 也采用了这套工具。按照官方的介绍使用命令行进行数据采集 ./systrace.py --time=10 -o trace.html sched gfx view -a com.example.rndemo 等待许久之后还是卡在 Tracing completed. Collecting output…,没有结果 。

没有心思去给 systrace.py 找 bug,还是曲线救国算了,还有 GUI 可以用。打开 Android Studio 后,在 Tools> Android> Android Device Monitor 里是有 Systrace 选项的,如下图:

这里有两个小 Trick,因为我们要分析的是 RN 的启动性能,所以应该先开始测量再打开 App,然而在 App 关闭的状态下是无法选取到要测量的 App 的。应该在 App 打开的状况下选取该 App,然后关闭 App (在设置里强制停止),然后开始测量。为了使测量结果不包含太多冗余信息,可以只勾选 View System、Activity Manager 和 Application 三项,如下图:

用 Chrome 打开 trace.html 就可以看到结果了,这个界面的操作不是非常直白,需要熟悉一下。利用好右上角的搜索框,Chrome 自带的搜索在这里用处不大。我们关注的线程主要有三个:

  1. UI 线程,可以通过搜索setupReactContext 找到
  2. Native Module 线程,可以通过搜索 createCatalystInstance 找到
  3. JS 线程,可以通过搜索 findMethod 找到

然后就可以慢慢分析整个 React Native 的启动过程啦。

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

分类

  • CFC 周刊 (4)
  • CFC 技术 (29)
  • CFC 日常 (3)
  • 未分类 (15)
  • 活动通知 (3)

标签

ACM Android anime animeloop animeloop-cli APP Apple aria2 Array Blog CFC数据结构与算法训练指南 CoreData CQUT Don't Starve Hexo iBooks JavaScript macOS Matlab moeoverflow OpenCV Programming README RxJS SQLite SQLite3 Steam Swift Theme Web Xcode 主题模板 动漫 博客 反编译 妹子 循环 教程 数据库 游戏 算法 装逼 视频 重庆理工大学 饥荒

登录
©2023 CFC Studio | Powered by WordPress & Superb Themes