2012-05-29 31 views
8

我正在播放WebView中的視頻。WebView中的視頻 - ApplicationContext與活動上下文

如果內存泄漏是要避免的,該ApplicationContext(如針對Activity上下文)必須被用於實例化WebViewrefer to this

如果我通過在ApplicationContextVideoViewWebView需要內部創建一個對話框(通常爲'不能播放這個視頻'),我得到一個BadTokenExceptionrefer to this

我們期望在內存泄漏或潛在的ANR之間做出決定嗎?

回答

0

我從上面的評論和進一步的測試得出結論,問題是SDK中的一個錯誤:通過XML佈局創建WebView時,活動作爲WebView的上下文傳遞,而不是應用程序上下文。完成活動後,WebView仍然保持對活動的引用,因此活動不會從內存中移除。我爲此提交了一份錯誤報告,請參閱上面評論中的鏈接。

webView = new WebView(getApplicationContext()); 
0

這絕對是一個bug,或者api設計非常糟糕,它沒有給出任何錯誤提示。我相信很多開發者遇到了這個問題。