9

我正在播放一个视频WebView

如果要避免内存泄漏,则ApplicationContext(相对于Activity上下文)必须用于实例化WebView请参阅this

如果我传入ApplicationContextVideoView里面WebView需要创建一个对话框(通常是“无法播放此视频”),我会得到一个BadTokenException参考这个

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

4

2 回答 2

0

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

webView = new WebView(getApplicationContext());
于 2013-01-17T04:54:21.200 回答
0

这绝对是一个bug,或者api设计真的很糟糕,它没有给出任何错误提示。相信很多开发者都遇到过这个问题。

于 2016-08-05T07:57:22.963 回答