activity 被销毁时手动清除上下文引用

Manually clear context reference when activity is destroyed

我有一个扩展 WebViewClient 的 BaseWebViewClient class。我用它来设置我想要的跨不同片段和活动的所有 web 视图(如 uri 方案等)的通用内容。 class 需要上下文引用才能访问某些资源。我在构造函数中传递它并将其设置为成员变量,生活很好。

问题变成了,我应该如何处理以防止此上下文发生内存泄漏?我可以创建一个将 mContext 变量设置为 null 的 clearClient() 方法,然后在 frag/activity 的 onDestory() 中调用它吗?似乎是一个简单的解决方案,只是感觉我遗漏了一些东西。这似乎是一件好事,还是有更好的方法来处理这个问题而不必记住在 activity?

中调用 clearClient 方法

将应用程序上下文传递给它。或者对传入的上下文调用 getApplicationContext。您可以放心地保存它。在极少数情况下,这还不够好。