电商RN项目秒开优化实践

本文分享了电商RN项目的性能优化实践,包括包预置、预下载和预渲染,模块拆包与懒加载,渲染引擎优化,减少Native通信,预加载和深度预加载,前页信息复用,BFF接口聚合,分屏渲染,以及DomTree预渲染等策略,旨在提升应用启动速度和用户体验。
摘要由CSDN通过智能技术生成

1. 包预置、预下载 、预渲染

可以申请 App 启动时预下载首包,建议拆包后申请,可以大幅度降低包下载时间。

预渲染提前渲染页面相当于从第一个阶段创建容器便开始优化。

2. 模块拆包,Tree-shaking,懒加载

模块拆分:可以拆分首包,可大幅提升包下载更新和加载性能。

懒加载:首屏不相关模块实现懒加载,减少加载时间。

Inline Requires 采用inline require方式打包,可以把实际代码中没有使用的模块去除,减少 size。 加载模块的时机在实际真正使用到这个模块的时候,实现懒加载效果。 模块赋值时采用get属性的方式进行赋值,可以在inline require打包方式下实现懒加载。

开启 inline require 配置

// metro.config.js
module.exports = {transformer: {getTransformOptions: async () => ({transform: {experimentalImportSupport: true,inlineRequires: true,},}),},
}; 

3. 渲染引擎优化

V8 or Hermes 引擎性能对比

CodeCache:JS 预编译后的字节码产物,会缓存至磁盘,下次页面加载时可直接复用。目前 Hermes 已开启。

4. 减少 Native 通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值