自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android端10個最常見問題

移動開發(fā)
這里逐條記錄下最容易遇到的React native android相關(guān)case

[[156039]]

這里逐條記錄下最容易遇到的 React native android 相關(guān)case

1.app啟動后,紅色界面,unable load jsbundle

解決辦法:一般來說就是,你是用dev-serve方式,且你的server沒有正確匹配上,如果是用手機跑的話,需要pc和手機在同一個wifi下,且通過menu鍵設(shè)置menu-ip為pc的ip,如果是模擬器,則不需要手動設(shè)置ip,設(shè)置的話,反倒會出錯

2.app啟動后,紅色界面,unRegisteredProject

  • 提示提示什么,你的app沒有在啟動時候注冊
  • 解決辦法:這個后面也是一看就知道的錯誤,就是你的index.android.bundle中的最下面寫的那個
  • ‘componetNameInYourLocalProject’在你的java代碼中不是叫這個名字,自己check下,立刻就能修復(fù)AppRegistry.registerComponent(‘componetNameInYourLocalProject’, () => JSObjAndroid);

3.require(”xxx”)的組件失敗

  • js代碼中有時候會出現(xiàn)require(”xxx”)的組件出錯 解決辦法:檢測該node組件是否存在你的服務(wù)器上,如果是自己封裝的NativeModule話可以直接使用
  • var CustomMoudle = React.NativeModules.YourCustomModule CustomMoudle.yourMethodDeclearInYourNative(‘someparms’);

4.調(diào)試

  • 解決辦法:可以利用pc端的chrome的 debug工具進(jìn)行js端的調(diào)試,native的調(diào)試就只能用logcat跟蹤了,目前看到大部分的錯誤都是自己代碼的問題,ReactAndroid本身的Crash較少

5.so庫的問題

  • gradle的話,可以通到ndk filter來控制:android { defaultConfig { ndk { abiFilters “x86″, “armeabi-v7a” } }
  • maven的話,可以手動通過libs下的so拷貝來解決問題。
  • 這塊有個比較大的坑就是,默認(rèn)引入的jsc.aar中存在armabi文件夾,但是里面沒有jsc.so 。導(dǎo)致在多個地方,去編碼源碼時ndk方面會報錯。

6.關(guān)于設(shè)備MinSdkVerison

  • 默認(rèn)Android要求4.1以上設(shè)備(4.0根據(jù)網(wǎng)絡(luò)數(shù)據(jù)大概占比0.7比例,隨著大部分app已經(jīng)不支持4.0以下設(shè)備了,這塊倒還可以接受)
  • 剛開始一直使用一個5.0的設(shè)備進(jìn)行ReactAndorid的測試和開發(fā),后來方向,其實搞上一個5.0+的genymotion模擬器聯(lián)調(diào)起來效率會更高。

7.UIExplorer demo問題

  • 之前一直在看具體接入和代碼實現(xiàn)方面的,當(dāng)大頭的工作回過頭來看,其實當(dāng)時應(yīng)該先從這個UIExploror入手的話,效率和進(jìn)度應(yīng)該會有較大提高的。
  • 這塊需要編譯react源代碼,如果遇到了https://github.com/facebook/react-native/issues/3976 的問題,可以使用我在下面回復(fù)的方法hook,但是本質(zhì)原因還是那個armabi jsc.so的問題

8.能力覆蓋范圍

  • 根據(jù)團隊之前React iOS的經(jīng)驗,跟進(jìn)主干代碼,依賴RN本身提供的UI組件可以滿足大部分業(yè)務(wù)場景。
  • 當(dāng)然自己如果想復(fù)用之前團隊沉淀下來的,配合著UIManager和UIModule這塊本身工作量到也不算太大。
  • 但是應(yīng)該盡可能的和團隊以后的JS端和iOS端的協(xié)議接口保持一致,讓React***的意義發(fā)揮出來,“lean once run everywhere”

9.數(shù)據(jù)安全

  • 0.14之前只支持dev-pc 和assert方式,從0.14.0 realease版本開始支持local file patch加載方式,***版0.15.1。
  • 因為如果要動態(tài)能力,js必定是走網(wǎng)絡(luò)端下發(fā)的,js本身是明文(即使JS做了混淆),數(shù)據(jù)防劫持的保護(hù)還是必須要做的,這點可以配合https防篡改+sign校驗來做

10.JNI消息輪訓(xùn)帶來的影響

  • 由于JNI的通信限制,Java層和Native通信是單向的,且為了保證RN的16ms的渲染頻率,所有Java-Native-jscore層的通信都是異步的,這樣可能對于JAVA層的UI渲染是個性能問題。
  • 當(dāng)消息量非常大或Listview頁面非常復(fù)雜時候,每1層Cell的渲染要以Css-ScrowllerView模型需要UI線程的連續(xù)繪制,對于瀑布流負(fù)責(zé)listview等可能會存在性能問題,但是該問題本身肯定是優(yōu)于H5的體驗的
責(zé)任編輯:倪明 來源: github
相關(guān)推薦

2014-08-25 10:24:01

Linux

2011-05-10 15:30:22

SEO

2021-02-05 11:30:02

人工智能

2011-06-23 18:33:37

SEO

2013-08-13 13:16:02

Android adb問題

2009-06-14 18:29:10

ibmdwWebSphere

2011-07-21 14:32:06

iPhone App 游戲

2010-07-12 14:13:15

SQL Server開

2015-05-27 10:34:56

Java編程常見問題

2020-07-30 08:27:33

Javascript閉包變量

2020-05-29 14:30:35

Kubernetes開發(fā)錯誤

2025-02-19 08:00:00

移動端移動設(shè)備移動開發(fā)

2020-05-25 22:41:27

LoRaWAN物聯(lián)網(wǎng)技術(shù)物聯(lián)網(wǎng)

2018-11-14 14:18:26

APP網(wǎng)絡(luò)分析

2021-02-26 22:54:06

云計算公有云私有云

2020-08-20 10:41:28

云計算云安全數(shù)據(jù)

2014-09-10 09:46:26

Linux

2022-07-01 13:17:13

Docker

2021-02-05 10:41:08

人工智能計算機科學(xué)

2018-08-02 15:40:59

點贊
收藏

51CTO技術(shù)棧公眾號