App由于版本的迭代,導(dǎo)致項(xiàng)目的接口越來越復(fù)雜也越來越多篓跛,我做的產(chǎn)品App是教育行業(yè)膝捞,以課程和視頻為主,針對所有課程進(jìn)行本地緩存愧沟,這樣以來本地記錄所有的課程蔬咬,直接快速展示給用戶,接口數(shù)據(jù)也減少了沐寺,加載動態(tài)數(shù)據(jù)接口時間也變快了林艘,是不是很開心,但是做起來困難重重混坞。
教育行業(yè)的App大多部分是以課件為主狐援,課件包括:價格(過期,折扣、現(xiàn)價咕村,競價等等) 課件也包括用戶的狀態(tài)(購買狀態(tài)场钉,未購買,購買過期懈涛,延期等等)其余的就是一些文字信息(標(biāo)題,詳情,圖片,課程唯一標(biāo)識,過期時間逛万,下架類型),大家感覺這么多東西做本地緩存累不累批钠,值不值宇植,很肯定告訴大家很值。
具體步驟:
1:寫一個Demo,用于生成最新本地?cái)?shù)據(jù)庫 (接口下載后臺所有課程數(shù)據(jù))
注意動態(tài)的不要放入埋心。
2:項(xiàng)目主目錄放入數(shù)據(jù)庫(這樣直接打包到項(xiàng)目,用戶首次安裝和更項(xiàng)目就存在這樣的數(shù)據(jù)庫,直接copy到硬件里面,時間忽略不計(jì) 優(yōu)點(diǎn): 用戶無感知存入大量數(shù)據(jù))
上面的倆步驟就解決完了大量數(shù)據(jù)的處理指郁。
3:增量包的處理,可以用接口也可以用壓縮包形式
4:全量包的處理拷呆,可以把數(shù)據(jù)庫壓縮上傳服務(wù)器闲坎,這個大家可以研究一下(很遺憾,后臺不給做,前端只有代碼上去了,手動運(yùn)行Demo,然后手動上傳服務(wù)器,這么好的機(jī)制就給否定了)
5:上面的全量包給否定了茬斧,導(dǎo)致增量包的重置時間也給否定了,數(shù)據(jù)量也會不斷的增加腰懂,雖然壓縮包很小很小,但是長期下去也不是辦法,測試需要配課人員配好App端就可以看到项秉,不應(yīng)該等到12點(diǎn)更新,其實(shí)我們就是為了減緩請求接口大量數(shù)量,然后添加接口的形式來更新最新數(shù)據(jù)绣溜。
6:之前一個接口返回的數(shù)據(jù)量很大,全部做本地的話,好多需求需要變更娄蔼,好多功能需要重新設(shè)計(jì),里面的字段也需要一一核實(shí),很費(fèi)心怖喻。
7:按照分類課件的話,都是有對應(yīng)關(guān)系的,這個表的id可以查詢另一個表的id,都是相互關(guān)聯(lián)的,下次在寫吧岁诉,開始做項(xiàng)目了