2011-10-24 98 views
0

我想知道是否有可能殺死,關閉創建的webview後,它不需要。它有4mb內存泄漏,我只是找不到一種方法來殺死它。鈦手機,android關閉WebView

例如:

var webview = Titanium.UI.createWebView({ 
    html:'hello world' 
}); 

var win = Titanium.UI.currentWindow; 

win.addEventListener('android:back', function(e){ 
    win.remove(webview); 
    win.close(); 
}); 

但它不工作。我仍然看不到內存使用的變化。任何人都知道解決方案?

+0

垃圾收集器只會在存在內存壓力時運行......實際上可能會釋放垃圾收集器,而不會收集垃圾收集器。當變量超出範圍時,它應該是候選者,但是如果您希望更快地釋放對象,則可以按照Ben的建議將參考設置爲null。 –

+0

您可以通過直接訪問java運行時來強制gc。這僅適用於Android,所以如果你使用多平臺,你需要處理這個問題。像java.lang.Runtime.getRuntime()。gc();應該管用。您可以從運行時獲得比Ti更好的內存統計信息。 –

回答

0

只要您刪除對webview的引用,如delete webview,Javascript的垃圾回收器應該最終將其拾取並釋放內存。

0

如果將引用設置爲null,GC將在運行時收集它。