在内存泄漏等方面使用 Android 的 MutableContextWrapper
有多安全?我正在用 Activity
的上下文实例化一个 WebView
,稍后想将其上下文更改为另一个 Activity
。
Here是一个警告对 WebView
使用 MutableContextWrapper
的答案,因为它可能会导致混合上下文泄漏。但是我没有看到任何理由,因为当我们改变它的上下文时它怎么会导致泄漏?
为什么我们不应该在 View 初始化后更改它的上下文?
有没有人使用过并遇到过任何问题(特别是WebView
)?使用过程中有什么注意事项吗?有什么数据可以分享吗?
最佳答案
绝对不安全。 Context
上的操作需要反操作才能释放资源,例如Context.registerComponentCallabacks
,Context.registerReceiver
,如果你同时改变了Context,这意味着初始上下文不会调用反作用,导致resource泄漏。而 WebView 使用这些操作,这是肯定的。
请注意,WebView 是一个比常规 View 复杂得多的组件,因为它包含网络堆栈、渲染引擎等。
关于android - MutableContextWrapper 有多安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34380647/