首页 > 解决方案 > 是否应该避免将应用程序上下文传递给应用程序中的这么多类?

问题描述

我知道将活动上下文作为参数发送给类是一种不好的做法,
但是我有一个应用程序,其中有这么多应用程序上下文被传递给这么多类,我很担心,想知道这是否是一种不好的做法?

顺便说一句,我没有在提到的类中使用静态变量来存储传递应用程序上下文,而是为了使类的所有部分的上下文都是全局的,我通常定义一个全局上下文

上下文 mGlobalContext

然后使用

this.mGlobalContext = c

其中 c 是传递的上下文的参数

标签: android

解决方案


阅读Romain Guy的这篇博客,总结他说保持活动上下文会导致内存泄漏,但是如果类之间共享的上下文是应用程序上下文,那么可以避免内存泄漏。因此,发送不会导致您按照Romain Guy的说法发生内存泄漏。:Dapplication context

在我的观点和我的实践中,我只在需要时传递上下文,并且在将上下文发送到不同的活动之前需要牢记上下文范围(活动/应用程序的生命周期)。


推荐阅读