发布 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 用户不再需要 locale polyfills。非常感谢@mganandraj 和微软的其他合作伙伴推动了这项实现! - iOS 上的 Hermes 现在支持 Apple M1 Mac 和 Mac Catalyst!
- 内存改进,包括 SMI(小整数)和指针压缩,将 JS 堆大小减小了 30%。
- 对
Function.prototype.toString的更改,修复了因不当的功能检测导致的性能下降,并支持源代码注入用例。
您可以在此处找到完整的 Hermes 更新日志。
如果您尚未启用 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 多个 commit**。感谢每一位为此版本做出贡献和支持的人!您可以在此处找到完整的更新日志。
