2013-06-27 132 views
4

我在使用webview.getSettings()啓用webView中的Javascript時出現問題setJavascriptEnabled(true);)嵌入Javascript的HTML頁面加載並正確顯示,但是,我也是每10或30秒不斷刷新屏幕。當我進入我的測試設備(MK808 mini-tv)的外殼時,我使用「dumpsys meminfo」來查看過程的記憶。每5秒顯示一次應用程序進程的內存,我可以看到每當頁面刷新時,應用程序的內存使用量就會跳躍多個(4-10)兆字節。這將持續大約30分鐘左右,直到應用程序在WebViewCoreThread中發生致命信號11錯誤,並且沒有堆棧跟蹤時崩潰。Android WebView - JavaScript內存泄漏

不斷增加內存(約爲15000kb啓動):不啓用Javascript

enter image description here


這些記憶問題或錯誤無發生。

我在刷新之前每隔一段時間清理一次clearCache(true)和freeMemory(),以及其他所有數據庫和緩存清除。

我也曾嘗試在每次刷新後破壞WebView並創建一個全新的,無濟於事。

我可以輕鬆地重新制作這個問題,只需製作一個新的應用程序項目,並根據處理程序控制時間重新加載webview。這似乎應該是一個普遍的問題,但我無法找到任何關於此主題。它可能是我的設備嗎?

在此先感謝您的幫助,我很樂意根據需要添加更多信息!

回答

0

嘗試也補充一點:

//Injects the supplied Java object into this WebView. The object is injected into the 
    //JavaScript context of the main frame, using the supplied name. This allows the 
    //Java object's public methods to be accessed from JavaScript. 
    WebView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 
+1

當我在我的dev的電腦我會嘗試這個明天。但是有一個問題,如何讓Javascript的當前Activities方法釋放Javascript似的內存? – YeomansIII

+1

經過測試,這顯示不會真的做任何事情...謝謝你的幫助,雖然 – YeomansIII

+0

你有這個想通了嗎? –