=== 目標 ===
移除畫面上的 flash 時能夠清除 flash 所占用的記憶體
=== 實驗 ===
假設操作 HTML 字串等於操作記憶體
新增 Object Tag 增加記憶體使用量
移除 Object Tag 減少記憶體使用量
畫面上放兩個按鈕
addFlash
removeFlash
按一下 addFlash 新增一個 Object Tag
按一下 removeFlash 移除所有 Object Tag
=== 實作 ===
=== HTML的部分 ===
<a href="#" id="addFlash">add flash</a>
<a href="#" id="removeFlash">remove flash</a>
<div id="flashContainer"></div>
=== js的部分 ===
$(function(){
$("#addFlash").click(function(){
var random = 'a' + Math.floor(Math.random() * 1000000000);
$("#flashContainer").append('<div id="'+ random+ '" />');
swfobject.embedSWF("test.swf", random , "908", "560", "10.0.0");
});
$("#removeFlash").click(function(){
$("#flashContainer").html("");
});
});
=== 實驗結果 ===
chrome, firefox, safari在按下removeFlash時
系統記憶體使用量在1秒內明顯下降,好像沒按過addFlsah一樣
但是 IE 不意外,在按下removeFlash時
系統記憶體使用量開始緩緩下降,過了一分鐘還沒降到該降到的位置
不知道 IE 怎麼達到移除 flash 時釋放記憶體?
(其實也不能說他沒有釋放,只是他釋放得很慢)
沒有留言:
張貼留言