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

相關文章
相關標籤/搜索