千萬不要試圖在已經(jīng)不維護(hù)的框架下耸三,并且異常陳舊項(xiàng)目下開發(fā)新功能!血和淚的教訓(xùn)!
先說一下感覺浇揩,感覺就是仪壮,“累”, “心累”胳徽,身心疲憊积锅!
本次項(xiàng)目迭代,牽扯到app等項(xiàng)目养盗,這里只分享一下本下次開發(fā)中遇到的問題缚陷,以及廣告對(duì)接,數(shù)據(jù)上報(bào),頁面緩存處理往核,渲染的處理等問題箫爷!
1.首頁緩存渲染的處理
在開發(fā)此處時(shí),第一版因?yàn)樗伎疾怀浞郑彺胬貌缓侠淼海瑢?dǎo)致頁面加載異常緩慢丹喻,并且會(huì)閃屏,體驗(yàn)異常的差翁都!
解決方案:
首次加載碍论,立馬拉去數(shù)據(jù)不做渲染處理,渲染處理的數(shù)據(jù)立馬放置到緩存中去柄慰。渲染頁面的話鳍悠,判斷從緩存中拉取,拉取的數(shù)據(jù)盡量不要做太多的邏輯數(shù)據(jù)處理坐搔,否則在性能比較差的手機(jī)上面藏研,會(huì)出現(xiàn)卡頓的現(xiàn)象!
當(dāng)頁面切換的時(shí)候概行,再次去拉取數(shù)據(jù)蠢挡,放置到緩存中去,然后只更新對(duì)應(yīng)的圖片鏈接的地址凳忙,更新渲染的話业踏,也是從緩存中拿取涧卵!這樣的話當(dāng)你頁面來回切換的時(shí)候頁面不會(huì)出現(xiàn)閃屏的現(xiàn)象和性能比較差的手機(jī)上的卡頓現(xiàn)象勤家!同時(shí)頁面的圖片也會(huì)更新!
因?yàn)榫唧w的業(yè)務(wù)邏輯比較復(fù)雜柳恐,這里只說的是很簡單的一個(gè)思路!
這里在提示一個(gè)比較重要的點(diǎn):
緩存中獲取的數(shù)據(jù)以及數(shù)據(jù)結(jié)構(gòu)伐脖,盡量不要做太多的邏輯處理,否則在性能比較差的手機(jī)上面乐设,你就哭去吧讼庇!
2.原生端數(shù)據(jù)的轉(zhuǎn)發(fā),前端數(shù)據(jù)接收處理
簡單介紹:
因業(yè)務(wù)需求伤提,開屏廣告的數(shù)據(jù)需要從原生端進(jìn)行轉(zhuǎn)發(fā)巫俺,前端接收到廣告數(shù)據(jù),進(jìn)行邏輯處理個(gè)頁面渲染肿男!
這里只說前端數(shù)據(jù)的接收介汹,我們用的是插件的形式,通過事件監(jiān)聽的方式進(jìn)行數(shù)據(jù)的接收舶沛;
前端全局監(jiān)聽一個(gè)事件嘹承,通過接收事件的參數(shù)來確定,所需要的數(shù)據(jù)也就是參數(shù)數(shù)據(jù)如庭!
- 數(shù)據(jù)上報(bào)
這里是通過接收的參數(shù)叹卷,也就是我所需要的數(shù)據(jù),數(shù)據(jù)里存在一個(gè)上報(bào)的鏈接,我只需請(qǐng)求一下此鏈接骤竹,那么數(shù)據(jù)就相當(dāng)于上報(bào)成功了帝牡,但是這只是簡單的上報(bào),一般需要你通過鏈接的形式蒙揣,將一些坐標(biāo)信息靶溜,時(shí)間戳等等一些列的參數(shù)上報(bào),我這邊上報(bào)了十幾個(gè)參數(shù)懒震,都需要自己組織罩息!這就不一一列舉了!
數(shù)據(jù)上報(bào)的時(shí)候可能有多個(gè)鏈接个扰,這個(gè)時(shí)候就要自己處理了瓷炮,我這邊是先將對(duì)應(yīng)的鏈接放到一個(gè)數(shù)組里面,然后寫了一個(gè)閉包递宅,加延遲處理娘香,里面放置的事get方法,每隔1s或多秒上報(bào)一次數(shù)據(jù)恐锣,這樣就減輕了服務(wù)器的壓力茅主,比同時(shí)上報(bào)要好許多舞痰!
遇到了不少坑土榴,也是因?yàn)轫?xiàng)目的技術(shù)棧異常陳舊,導(dǎo)致很多語法不兼容以及要做很多兼容處理响牛!再加上app邏輯異常復(fù)雜及混亂玷禽,導(dǎo)致這期的項(xiàng)目迭代加了很多班!幸好呀打,最后按時(shí)上線!
特寫此矢赁,以記錄!我自己踩過的坑贬丛!
后面還有撩银,暫時(shí)寫這些吧!
接著,以上的問題豺憔!
- 項(xiàng)目迭代預(yù)估時(shí)間
由于我們采用的敏捷開發(fā)的流程额获,分配任務(wù)時(shí) ,首先是先進(jìn)行工作量的評(píng)估恭应,然后在進(jìn)行開發(fā)抄邀!
自己的問題,對(duì)自己負(fù)責(zé)的工作昼榛,評(píng)估時(shí)間過于樂觀境肾!
一步一個(gè)坑,總也填不完,導(dǎo)致很多意想不到的問題的出現(xiàn)奥喻!
但是也得一個(gè)一個(gè)解決芭脊!很無奈??!
- 項(xiàng)目需求不明確
細(xì)想环鲤,需求不是很明確也是一個(gè)問題读宙,導(dǎo)致開發(fā)思路不明確!需要一遍遍反復(fù)確認(rèn)楔绞!
- 需求增加
開發(fā)過程中结闸,需求不斷增加,最后發(fā)現(xiàn)酒朵,產(chǎn)品邏輯不能形成閉環(huán)桦锄!導(dǎo)致開發(fā)過程中,需要用代碼或者程序員開發(fā)的思維去彌補(bǔ)產(chǎn)品上的缺陷或者說是去強(qiáng)制使產(chǎn)品形成閉環(huán)蔫耽!
7.總結(jié)
簡單總結(jié)一下结耀,
1.個(gè)人問題可能占主要原因吧!
2.產(chǎn)品開發(fā)流程不規(guī)范匙铡!
3.填坑所花費(fèi)的時(shí)間較長图甜!
4.坑太多!
......