ReactNative 碰见的坑

基于0.39,Android平台布局

一、ListView 吃内存,没法回收内存;性能

用Native 来自定义RN组件flex

目前须要完善: Type相同,布局不一样状况下没法动态改变UI动画

二、navigator动画慢;this

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

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

解决方案:调试

  Animated.timing(this.state.animatedStartValue, {日志

      toValue: 1,图片

      duration: 500,

      delay: 1000,

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

    }),

四、尽可能使用shouldComponentUpdate控制刷新,显著提升性能;

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

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

崩溃缘由:

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

七、使用Modal时不要和系统的Dialog同时弹出,不然会崩溃,

崩溃缘由:

Modal最终实现仍是用Dialog,没有得到Token;

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

九、Text没法设置border;

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

@2x的生成到xhdpi

@3x的生成到xxhdpi

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

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

十二、RN升版本改动很大

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

相关文章
相关标签/搜索