在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  HTML/ 使用React Native開發(fā)出的應(yīng)用內(nèi)存最高占 400MB 的內(nèi)存,穩(wěn)定占

使用React Native開發(fā)出的應(yīng)用內(nèi)存最高占 400MB 的內(nèi)存,穩(wěn)定占 360MB 的內(nèi)存,如何進(jìn)行優(yōu)化?

【to:審核人員,我的截圖不是代碼,是內(nèi)存使用情況哈。。。】
這里只看了安卓應(yīng)用哈。

首先是 app 打開的時(shí)候,占用內(nèi)存情況。119MB的占用還算可以了。。
clipboard.png

tab頁(yè)(共5頁(yè))均打開后,這里的tab頁(yè)因?yàn)槭乔袚Q,所以只要打開后就會(huì)一直占用對(duì)應(yīng)的內(nèi)存。圖表可能十幾二十個(gè)吧。。

clipboard.png

頁(yè)面幾乎沒(méi)有圖片,主要是以 列表和圖表組成,列表都是 flatList,圖表就是用 webview, 內(nèi)嵌一個(gè) 自帶 echart.js 腳本的html ,然后在這個(gè) html 里繪制的圖表。
由于引用了很多 圖表,基本上就是一個(gè)圖表一個(gè) webview 可以說(shuō)頁(yè)面到處都是 webview 。。。 雖然知道這樣不好,但是目前就這種可行的方案。。。

看了下內(nèi)存的分析,很高...但是不知道怎么入手優(yōu)化。。
現(xiàn)在能做的就是 tab 不做為切換,而做為只保留一頁(yè)的。但是這樣的我的數(shù)據(jù)就要重新發(fā)送?沒(méi)必要,我的數(shù)據(jù)對(duì)時(shí)間要求不高。。。

優(yōu)化方案:打開頁(yè)面 陸續(xù)發(fā)送各個(gè)頁(yè)面的請(qǐng)求,數(shù)據(jù)緩存在 redux。 tab 的頁(yè)面不保存在棧里,一次只留存一頁(yè),這樣就不會(huì)內(nèi)存耗大,但是說(shuō)實(shí)話渲染一個(gè) 很多 圖表的頁(yè)面耗時(shí)也挺久的。。

回答
編輯回答
陌南塵

還是要盡量減少Webview的實(shí)例數(shù)量,如果圖標(biāo)是靜態(tài)的話可以生成靜態(tài)PNG圖像或者SVG圖像

2017年1月25日 09:02