2011年8月12日 星期五

Flash的優化處理及讀取處理

當專案的swf檔案越來越多,會發現一開始main.swf要讀取太多檔案或是檔案太大導致要讀取很久
通常大家使用的解法如下:
1.要用的時候才讀取swf檔,而不是一開始全部讀出來,讓使用者在一開始的loading等太久,很有可能被按關閉視窗的慘狀
2.當讀取完成後,應該要把讀取完成的swf檔暫存到記憶體內,下次要重新產生物件時,可以直接使用而不是重新再讀取swf檔案
3.在讀取的時候,可能要花點時間讀,這時候就是用一個暫時性的物件先放在要出現的位置上,讓使用者知道這裡有東西正在讀取中,讀取完之後,請記得把暫時性的物件給移除掉,在flash中每個物件都會吃記憶體

效能優化:
1.避免使用向量圖,例如使用flash繪製出來的物件或是美術人員做出來的向量圖直接複製到Flash裡面這些都會讓CPU使用率提高很多
解法:
將向量圖轉存成PNG圖檔,並且在Flash中設定該圖檔使用jpeg壓縮,可以降低編譯完成的swf檔案大小,並且降低CPU使用率
2.避免直接使用var dataArray = new Array(); 改成 var dataArray = [];這樣可以降低CPU使用率跟記憶體用量
3.避免直接使用dataArray.length,宣告一個變數設成 var dataLen:int = dataArray.length這樣也可以降低CPU使用率

參考:
http://help.adobe.com/zh_TW/as3/mobile/index.html

沒有留言:

張貼留言