1

AndroidMutableContextWrapper在内存泄漏等方面的使用安全性如何?我正在WebView用aActivity的上下文实例化 a ,然后想将其上下文更改为另一个Activity

是一个警告使用MutableContextWrapperforWebView因为它可能导致混合上下文泄漏的答案。但是我没有看到任何原因,当我们改变它的上下文时它怎么会导致泄漏?为什么我们不应该在视图初始化后改变它的上下文?

有没有人使用过并遇到过任何问题(特别是WebView)?使用时有什么预防措施吗?有什么数据可以分享吗?

4

1 回答 1

1

绝对不安全。有一些动作Context需要反动作来释放资源,例如Context.registerComponentCallabacks, Context.registerReceiver,如果同时更改上下文,这意味着将不会为初始上下文调用反动作,从而导致资源泄漏。WebView 使用这些操作,这是肯定的。

请注意,WebView 是一个比常规 View 复杂得多的组件,因为它包含网络堆栈、渲染引擎等。

于 2015-12-22T00:00:27.823 回答