ReactNative 遇见的坑

基于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,

扫描二维码关注公众号,回复: 927687 查看本文章

      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太慢;

猜你喜欢

转载自my.oschina.net/u/1013713/blog/856401