## 來自官方的優化建議
詳見:http://edn.egret.com/cn/article/index/id/287
(1) 少使用Alpha混合。
(2) 顯式停止計時器,讓它們准備好進行垃圾回收。
(3)使用事件偵聽器並在不需要時刪除這些偵聽器。
(4) 在不需要觸摸交互性時顯式禁用觸摸交互性。
(5) 合理使用dispatchEvents 函數。
(6) 盡可能重用對象,建立對象池,而不創建對象並對其執行垃圾回收。
(7)多次調用類屬性時,避免直接使用this.att,建立局部變量賦值。
(8)Event.ENTER_FRAME數量控制。
(9)減少不必要的引用。
(10)減少顯示對象的旋轉縮放。
(11)使用SpriteSheet合並的圖片尺寸要優於單張圖片的總尺寸,尤其是帶透明通道的。
(12)在Http請求中,加載單個文件速度要優於加載多個文件
##個人總結
1) 滑動列表盡量使用數據綁定的方式(詳見 eui.Scroller + eui.List 的使用),這樣的做法減少Draw ,最多為選項個數+1
2)顯示移除不需要的面板,不用的盡量removeChild 而不是設置visiable
3) 顯式停止計時器,不要每次都進行 egret.getTimer(),應做為全局數據
4)顯式 刪除對象的所有引用確保被垃圾回收器回收。
5) 盡量不要在使用方法內創建函數,一個函數內不要嵌套另一個函數的定義。
6) 盡量使用let 代替 var 避免閉包導致的BUG
7) 將this賦值給另一個臨時變量self,let self = this
8) 不要在聲明的時候初始化對象,需要賦值基本類型。可選擇使用前初始化。
9) 初始化數組 =[] 比new 效率高 , = {} 比new 效率高
10) exml文件注意通過可視化編輯會產生小數,去掉小數
11)盡可能復用對象,或建立對象池,創建對象時,將對象創建在循環外部並在循環內反復重用。這是許多面向對象編程常用的方法。
12)禁用不必要顯示對象的觸摸交互,默認touchEnabled =true ,需要手動設置為false,在禁用時注意touchChildren = false 才能徹底禁止touch
13) 靜態的UI 使用建議使用cacheAsBitmap減少重繪次數,動態的不要使用該方法
14) 少用mask,特別是Rectangle 每回都要去計算消耗性能較大
15)盡量將配置文件合並到一個大文件里,減少下載次數。在Http請求中,加載單個文件速度要優於加載多個文件。配置文件去掉格式化,利用在線Json格式化工具(如bejson,sojson)處理Json數據。Json數據可以去掉一些不必要的小數和冗長命名
16)TextField減少對於描邊(stroke)的使用,用圖片代替,因為描邊是需要先通過計算邊界渲染
17)配置文件盡量使用key :value的方式,直接通過key取值減少查詢
18)數據查詢多的,使用key:value結構
19) ScrollerBar 的數據,如果單個更改,盡量通過updataItem() 去更改,避免重新綁定數據
轉自 http://blog.csdn.net/wuhaishengxxx/article/details/70495693