发布 React Native 0.65
·3 分钟阅读
今天我们发布了 React Native 0.65 版本,其中包含新版 Hermes、辅助功能改进、包升级等。
Hermes 0.8 有什么新功能?
Hermes,Facebook 开源的、为 React Native 优化的 JavaScript VM,已升级到 0.8.1 版本。此版本的一些突出功能包括:
- 一个新的并发垃圾收集器名为“Hades”,可将 64 位设备上的暂停时间缩短多达 30 倍。在 Facebook,我们看到这使一些 CPU 密集型工作负载提高了 20%-50%。您可以在此处了解有关 Hades 的更多信息。
- ECMAScript 国际化 API (ECMA-402,或
Intl) 现已内置到 Android 上的 Hermes 中并默认启用,每个 API 大小开销仅为 57-62K(相比 JSC 的 6MiB)。通过此更改,Hermes 用户不再需要区域设置填充。非常感谢 @mganandraj 和微软的其他合作伙伴推动了此项实现! - Hermes on iOS 现在支持 Apple M1 Mac 和 Mac Catalyst!
- 内存改进,包括 SMI(小整数)和指针压缩,将 JS 堆内存缩小了 30%。
- 对
Function.prototype.toString的更改 修复了由于功能检测不当导致的性能下降 并 支持源代码注入用例。
你可以在这里找到完整的 Hermes 变更日志。
按照这里的步骤,如果你的应用还没有启用 Hermes,请启用它以利用这些新功能和提升!
辅助功能修复和新增功能
去年 Facebook 承诺 GAAD 改善 React Native 中的辅助功能。0.65 分享了此承诺和其他辅助功能改进的结果!一些值得注意的更改包括
- 允许为 iOS 指定高对比度明暗值。更多详细信息请参阅文档。
- 在 Android 上添加了
getRecommendedTimeoutMillisAPI。这暴露了用户在 Android 辅助功能选项中设置的首选默认超时值,适用于可能需要额外时间来查看或接触控件等的用户。 - 常规修复,以确保 TalkBack/VoiceOver 正确播报组件上的 UI 状态,例如
disabled和unselected。
你可以在这里关注或贡献我们的未解决的辅助功能问题!
值得注意的依赖版本更新和注意事项
- 现在需要将
react-native-codegen版本0.0.7作为package.json中的devDependency。 - JCenter 已停止服务并变为只读。我们已将 JCenter 作为 Maven 仓库移除,并更新了依赖项以使用 MavenCentral 和 Jitpack。
- 将 OkHttp 从 v3 升级到 v4.9.1。有关更改的更多详细信息,请参阅升级到 OkHttp 4。
- 升级到 Flipper 0.93 以支持 Xcode 12.5。请参阅此处 Flipper 的更新日志。
- 支持 Android Gradle 插件 7
- Apple Silicon 需要链接器变通方法。请参阅@mikehardy 的说明。
谢谢!
此版本包含来自 61 位贡献者的超过 1100 次提交。感谢所有为本次发布做出贡献和支持的人!您可以在此处找到完整的更改日志。
