摘要:語法不兼容語法,會產生一些不可預知的。經過商量,服務器對接收到的數據進行去重,且后續時間以服務器時間為準。的數據存儲速度有待懷疑。
1、ES6語法不兼容for of語法,會產生一些不可預知的bug。
2、從服務器獲取到的配置文件XXX.bytes,直接根據pb文件解析即可,千萬不要進行json解析,否則pb里的枚舉值就會被轉成字符串,導致獲取不到預想的結果。
3、做本地緩存的時候,react-native提供的AsyncStoreage只能存儲字符串,所以存入緩存之前數據都要進行json序列化,但是當從緩存中取出數據,進行json解析,加入緩存之前的對象的一些默認(例如:boolean類型)值,都變成undefined了,會影響原有的判斷邏輯,需要對數據進行邏輯判斷的補充。
4、在開發中肯定會遇到需要獲取時間戳的問題,React-native中獲取的時間戳是毫秒為單位,而且后面還有幾位小數,打印了幾條數據觀察,發現都是1位小數,毫秒到的秒的轉換,需要再除以1000,于是就按4位小數進行截取,let timeStamp = timeStamp.substring(0, timeStamp.length - 4);,但是在后來的程序運行中同事發現,有的時候,后面會有沒有小數的情況,結果截取到的時間戳就少了一位,結果就出錯了。于是他把獲取時間戳的代碼修改如:let timeStamp = Math.floor(new Date().getTime() / 1000).toString();,這樣獲取到的就是時間戳的整數部分了,且是用秒為單位的。
5、react-native中的text組件,如果不設置寬度的話,默認是父組件的寬度,顯示不下才會進行換行,開發中遇到遇到兩種情況:一個image & text 采用橫向布局,如果不設置text的寬度的話,超過父組件的寬度,右側的文本會有丟失的情況;一個text & image 采用橫向布局,如果不設置text的寬度的話,text會默認占用父組件的全部寬度,結果右側的image被擠到了父組件之外。
6、數據埋點遇到的坑點:由于服務器和客戶端不在同一個時區,服務器接收到打點數據,因為時間差的原因,對客戶端上報的一條數據進行了多次入庫,導致數據量異常。經過商量,服務器對接收到的數據進行去重,且后續時間以服務器時間為準。
7、AsyncStoreage的數據存儲速度有待懷疑。在性能調優的時候發現,一些方法的執行,快的是1毫秒,大部分的發放執行在40毫秒左右,到了賬號信息存儲的時候,就執行了一個AsyncStorage.multiSet方法,其中是5條數據,耗時一下就變成了800毫秒左右。截圖如下:
上面這個方法的執行耗時是783毫秒,所以對于這里的信息存儲,還是有很大的提升空間的。
AsyncStoreage給我們在開發中提供了一些數據存儲的便利,但是只適合于存儲少量數據,且對耗時感知不是很強的場景,對于登錄和注冊這種關鍵性步驟,AsyncStoreage的性能還有有欠缺的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100327.html
摘要:閉上眼睛,心中默念一百遍遍馬力馬力轟,再睜開眼,如果你是安卓及以上系統,你就能在你手機上看到你第一個應用了圖,如果是以下,嘿嘿,一個血紅血紅的界面,不過沒關系,我們來糾正它。 ????????前期準備工作已經完成,接下來將正式進入開發了,請深呼吸下,呵呵。我們首先寫個Hello World工程來練練手。????????在命令行上點右鍵,選擇以管理員身份運行。建議每次運行命令行的時候都用...
摘要:此時會把當前路徑作為一個本地,在全局路徑下創建一個軟鏈接。所有依賴于全局路徑下的都必須是一個版本的,并沒有提供多版本號依賴的解決方法。因此,還是建議選擇一個常用的版本安裝在全局路徑,個別需求其他版本號的的項目,使用來配置局部依賴。 在實際開發過程中,經常需要同時運行和修改多個React Native工程,比如運行github上的開源項目以觀察某種控件的實際效果。那么此時,各項目下的初始...
閱讀 4365·2021-11-24 10:24
閱讀 1409·2021-11-22 15:22
閱讀 2038·2021-11-17 09:33
閱讀 2428·2021-09-22 15:29
閱讀 515·2019-08-30 15:55
閱讀 1652·2019-08-29 18:42
閱讀 2731·2019-08-29 12:55
閱讀 1772·2019-08-26 13:55