【发布时间】:2018-05-20 15:47:30
【问题描述】:
我目前正在尝试弄清楚如何减少 Android 启动时间。这对 iOS 来说不是问题,但对于 Android,我看到 6-10 秒。目标是 3-4 秒左右。
这是我所遇到的研究的摘要
- createReactContext:react 桥被初始化并开始加载所有原生模块的地方
-
getMethodDescriptors:使用反射编译(运行时)使用
ReactMethod的所有公开方法的列表
解决方案存在但并不完美:
- LazyReactPackage(实验性)https://github.com/facebook/react-native/commit/797ca6c219b2a44f88f10c61d91e8cc21e2f306e
-
移除所有暴露的反射
ReactMethodshttps://github.com/facebook/react-native/pull/10084
我对这些解决方案的问题在于使用注释处理来生成类(编译时)。我正试图弄清楚如何让这些解决方案在没有运气的情况下运行。
此外,有关缩短 Android 启动时间的其他建议也会有所帮助。
谢谢!
【问题讨论】:
-
你有解决办法吗?
-
如果有人感兴趣,这里是为增加 Android 启动时间所做的整体更改:github.com/mattermost/mattermost-mobile/pull/1598 需要大量衡量和了解启动成本
标签: android gradle react-native startup annotation-processing