egret 变量_egret性能优化总结
## 來自官方的優(yōu)化建議
(1) 少使用Alpha混合。
(2) 顯式停止計(jì)時(shí)器,讓它們準(zhǔn)備好進(jìn)行垃圾回收。
(3)使用事件偵聽器并在不需要時(shí)刪除這些偵聽器。
(4) 在不需要觸摸交互性時(shí)顯式禁用觸摸交互性。
(5) 合理使用dispatchEvents 函數(shù)。
(6) 盡可能重用對(duì)象,建立對(duì)象池,而不創(chuàng)建對(duì)象并對(duì)其執(zhí)行垃圾回收。
(7)多次調(diào)用類屬性時(shí),避免直接使用this.att,建立局部變量賦值。
(8)Event.ENTER_FRAME數(shù)量控制。
(9)減少不必要的引用。
(10)減少顯示對(duì)象的旋轉(zhuǎn)縮放。
(11)使用SpriteSheet合并的圖片尺寸要優(yōu)于單張圖片的總尺寸,尤其是帶透明通道的。
(12)在Http請(qǐng)求中,加載單個(gè)文件速度要優(yōu)于加載多個(gè)文件
##個(gè)人總結(jié)
1) 滑動(dòng)列表盡量使用數(shù)據(jù)綁定的方式(詳見 eui.Scroller + eui.List 的使用),這樣的做法減少Draw ,最多為選項(xiàng)個(gè)數(shù)+1
2)顯示移除不需要的面板,不用的盡量removeChild 而不是設(shè)置visiable
3) 顯式停止計(jì)時(shí)器,不要每次都進(jìn)行 egret.getTimer(),應(yīng)做為全局?jǐn)?shù)據(jù)
4)顯式 刪除對(duì)象的所有引用確保被垃圾回收器回收。
5) 盡量不要在使用方法內(nèi)創(chuàng)建函數(shù),一個(gè)函數(shù)內(nèi)不要嵌套另一個(gè)函數(shù)的定義。
6) 盡量使用let 代替 var 避免閉包導(dǎo)致的BUG
7) 將this賦值給另一個(gè)臨時(shí)變量self,let self = this
8) 不要在聲明的時(shí)候初始化對(duì)象,需要賦值基本類型。可選擇使用前初始化。
9) 初始化數(shù)組 =[] 比new 效率高 , = {} 比new 效率高
10) exml文件注意通過可視化編輯會(huì)產(chǎn)生小數(shù),去掉小數(shù)
11)盡可能復(fù)用對(duì)象,或建立對(duì)象池,創(chuàng)建對(duì)象時(shí),將對(duì)象創(chuàng)建在循環(huán)外部并在循環(huán)內(nèi)反復(fù)重用。這是許多面向?qū)ο缶幊坛S玫姆椒ā?/p>
12)禁用不必要顯示對(duì)象的觸摸交互,默認(rèn)touchEnabled =true ,需要手動(dòng)設(shè)置為false,在禁用時(shí)注意touchChildren = false 才能徹底禁止touch
13) 靜態(tài)的UI 使用建議使用cacheAsBitmap減少重繪次數(shù),動(dòng)態(tài)的不要使用該方法
14) 少用mask,特別是Rectangle 每回都要去計(jì)算消耗性能較大
15)盡量將配置文件合并到一個(gè)大文件里,減少下載次數(shù)。在Http請(qǐng)求中,加載單個(gè)文件速度要優(yōu)于加載多個(gè)文件。配置文件去掉格式化,利用在線Json格式化工具(如bejson,sojson)處理Json數(shù)據(jù)。Json數(shù)據(jù)可以去掉一些不必要的小數(shù)和冗長(zhǎng)命名
16)TextField減少對(duì)于描邊(stroke)的使用,用圖片代替,因?yàn)槊柽吺切枰韧ㄟ^計(jì)算邊界渲染
17)配置文件盡量使用key :value的方式,直接通過key取值減少查詢
18)數(shù)據(jù)查詢多的,使用key:value結(jié)構(gòu)
19) ScrollerBar 的數(shù)據(jù),如果單個(gè)更改,盡量通過updataItem() 去更改,避免重新綁定數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的egret 变量_egret性能优化总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wait函数的作用
- 下一篇: 审计利用计算机,利用计算机审计手段 提高