2011-12-15 61 views
0

以下兩位代碼是否有很大的內存或CPU差異? 基本上隱藏flv或完全刪除它,然後在需要時重新加載它。AS3優化FLV隱藏

選項1(隱藏)

public function stopFlyby():void { 

flvPlaybak.seek(0); 
flvPlaybak.stop(); 
flvPlaybak.visible = false; 

} 

然後再次參見

public function playFlyby():void { 

flvPlaybak.visible = true; 
flvPlaybak.play(); 

} 

選項2(刪除)

public function stopFlyby():void { 

flvPlaybak.seek(0); 
flvPlaybak.stop(); 
removeChild(flvPlaybak); 
flvPlaybak = null; 

} 

public function playFlyby():void { 

flvPlaybak = new FLVPlayback(); 
//load flv... 
addChild(flvPlaybak); 
flvPlaybak.play(); 

} 

謝謝,

馬克

回答

2

我關於這個問題的專家,但因爲沒有人回答我卻會扔我的2美分英寸

選項1具有不必重新下載視頻文件的一個優勢這對於一些視頻可能需要一段時間;但是,瀏覽器的緩存可能會出現救援並阻止其再次下載。

選項2將釋放內存(無論垃圾收集當然是什麼感覺),因爲它是一個視頻,它可能會釋放大量的內存。

就CPU而言,我會假設這些選項之間的差異對於最終用戶來說是難以察覺的。

我傾向於選項2,因爲可能在用戶觀看視頻後他們不想再看一遍。

+0

託德是對的,我想。但你應該問自己,是否有可能用戶想再次觀看視頻......它會被緩存,但在視頻再次顯示之前會有一些小的延遲。選項1使您可以更快地播放視頻......但是也許`flvplayback.pause()`比`stop()`更好。 – pkyeck 2011-12-16 08:26:01