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