【问题标题】:React Native profiling. Systrace not showing JS and Native Modules ThreadReact Native 分析。 Systrace 未显示 JS 和本机模块线程
【发布时间】:2016-11-09 18:53:46
【问题描述】:

我已按照Profiling Android UI Performance 的指南进行操作

我运行以下 cmd: /usr/local/Cellar/android-sdk/24.4.1_1/platform-tools/systrace/systrace.py --time=10 -o trace.html shred gfx view -a com.navigation。

我能够获得跟踪输出。但是 Js 和 Native Modules 线程不可用,如指南中所述。

这是生成的跟踪的示例。

我已尝试使用指南中所述的 dev=false 和此 answer 中提到的 dev=true 运行跟踪,但没有运行

我目前使用的是 0.28.0 版。我之前没有尝试在项目中使用 systrace,所以不知道它是否有效。

非常感谢任何为什么没有显示的想法。

【问题讨论】:

  • systrace.py 运行此命令时文件已打开,但我没有得到任何指向 systrace 的链接。您能指导我如何收集 systrace 吗?
  • 你能看看这个question

标签: android react-native profiling systrace


【解决方案1】:

com.navigation 应用使用 Js 和 Native Modules?

如果您没有在应用中使用这些模块,它不会显示在您的系统跟踪中。

请参考以下链接如何将natvie模块和js添加到应用程序 https://apimirror.com/react_native/native-modules-android

【讨论】:

    【解决方案2】:

    确保-a 选项指定的包名称正确。我遇到了类似的问题,发现我根本没有列出包名称,这使我的跟踪无法显示任何有用的信息。

    【讨论】:

      【解决方案3】:

      您是否尝试过在 Android Studio 的设备监视器中使用 systrace? 您有很多跟踪选项:

      要在较新版本的 Chrome 中打开跟踪,您必须在 trace.html 中包含此脚本:

      <script src="https://rawgit.com/MaxArt2501/object-observe/master/dist/object-observe.min.js"></script>
      

      【讨论】:

        【解决方案4】:

        dalvik --no-fix-threads 添加到您的命令中。

        【讨论】:

        • systrace工具中没有--no-fix-threads这样的选项。
        猜你喜欢
        • 1970-01-01
        • 2017-10-14
        • 2019-04-26
        • 1970-01-01
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        相关资源
        最近更新 更多