React Native 0.65 发布公告
·阅读时间 3 分钟
今天,我们发布了 React Native 0.65 版本,其中包含 Hermes 的新版本、可访问性改进、软件包升级等等。
Hermes 0.8 中的新功能?
Hermes 是 Facebook 开源的针对 React Native 优化的 JavaScript 虚拟机,已升级到 0.8.1 版本。此版本的一些突出功能包括
- 一个名为“Hades”的新并发垃圾收集器,可在 64 位设备上将暂停时间缩短多达 30 倍。在 Facebook,我们发现这使一些 CPU 密集型工作负载提高了 20%-50%。您可以在此处了解有关 Hades 的更多信息。
- ECMAScript 国际化 API (ECMA-402 或
Intl
) 现在已内置到 Android 上的 Hermes 中并默认启用,每个 API 的大小开销仅为 57-62K(相比之下,JSC 为 6MiB)。通过此更改,Hermes 用户不再需要区域设置 polyfill。非常感谢@mganandraj 和微软的其他合作伙伴推动实施以实现这一目标! - iOS 上的 Hermes 现在支持 Apple M1 芯片的 Mac 和 Mac Catalyst!
- 内存改进,包括 SMI(小整数)和指针压缩,将 JS 堆大小缩减了 30%。
- 对
Function.prototype.toString
的更改修复了由于功能检测不当导致的性能下降,并支持源代码注入用例。
您可以在此处找到完整的Hermes 变更日志。
请按照此处的步骤选择加入您的应用到 Hermes(如果您尚未这样做),以利用这些新功能和优势!
可访问性修复和新增功能
去年Facebook 做出了全球无障碍意识日承诺,以改善 React Native 中的可访问性。0.65 版本分享了此承诺和其他可访问性成果!一些值得注意的更改包括
- 允许为 iOS 指定高对比度亮色和暗色值。有关更多详细信息,请参阅文档。
- 在 Android 上添加了
getRecommendedTimeoutMillis
API。这将公开用户在 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 多次提交。感谢所有为此次发布做出贡献和提供支持的人!您可以在此处找到完整的变更日志。