ReactNative 遇见的坑

本文针对React Native(RN)开发中常见的问题提供了解决方案,包括内存泄漏、动画性能优化、打包技巧等方面的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于0.39,Android平台

1、ListView 吃内存,无法回收内存;

用Native 来自定义RN组件

目前需要完善: Type相同,布局不同情况下无法动态改变UI

2、navigator动画慢;

使用InteractionManager.runAfterInteractions 有所改善,但还是稍慢

3、循环动画会阻塞InteractionManager.runAfterInteractions的执行;

解决方案:

  Animated.timing(this.state.animatedStartValue, {

      toValue: 1,

      duration: 500,

      delay: 1000,

      isInteraction: false,//加入此参数可解决,官方文档上无此参数说明

    }),

4、尽量使用shouldComponentUpdate控制刷新,显著提高性能;

5、低版本使用flex布局,设置flex属性,高版本改成flexGrow,flexShirk等属性,若不会造成UI错乱;

6、debug版本经常崩溃,release版本无此问题,官方文档0.42上会修复此问题;

崩溃原因:

在debug版本时APP一直尝试连接本地代码,失败了就再次创建HttpClient去连接,直到OOM;

7、使用Modal时不要和系统的Dialog同时弹出,否则会崩溃,

崩溃原因:

Modal最终实现还是用Dialog,没有获得Token;

8、业务量过大时,bundle过大,加载稍慢,第一次加载把所有文件load进入内存(官方未出拆包方案),无法像HTML按需加载;

9、Text无法设置border;

10、打包过程中图片按照 图片文件目录+图片名  生成到一个文件夹中

@2x的生成到xhdpi

@3x的生成到xxhdpi

为减小包大小可去掉@3x图片

11、横向ScrollView,若两tab高度不一致时,容易出现高度错乱;

12、RN升版本改动很大

13、错误日志打印不全,遇到崩溃难以跟踪到具体代码位置,难以调试;IOS稍好,Android太慢;

 

转载于:https://my.oschina.net/u/1013713/blog/856401

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值