WebView中的视频 - ApplicationContext vs Activity Context

Vik*_*rla 8 android memory-leaks webview

我在播放视频WebView.

如果要避免内存泄漏,则必须使用ApplicationContext(与Activity上下文相比)来实例化WebView(参考此)

如果我通过在ApplicationContextVideoView内部WebView需求来创建一个(通常为"无法播放此视频")对话框中,我得到了BadTokenException(请参阅本)

我们是否期望在内存泄漏或潜在的ANR之间做出决定?

GOL*_*DEE 0

从上面的评论和进一步的测试中我得出结论,问题是 SDK 中的错误:通过 XML 布局创建 WebView 时,活动作为 WebView 的上下文传递,而不是应用程序上下文。当完成 Activity 时,WebView 仍然保留对该 Activity 的引用,因此该 Activity 不会从内存中删除。我为此提交了一份错误报告,请参阅上面评论中的链接。

webView = new WebView(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)