Android - 为什么人们反复引用内联静态上下文,而不是在 Method() 中传递一次?

Android - Why people refer to a static context inline repeatedly, instead of pass it in the Method() once?

我即将完成我的第一个真正的应用程序..
在我的道路上(在过去的几年里)我看到了很多代码示例。
有一件事是一致的:我总是看到使用静态 context 引用,例如:
getApplicationContext()this.getActivity() 和许多其他此类引用..

但今天早些时候,在询问如何从接收器中的方法检索上下文后,
我被简单地告知 "pass it the Context",例如:public void receiverMethodCall(Context context).

我的问题是:如果就这么简单,为什么人们经常一遍又一遍地在他们的代码中内联重复静态上下文引用,而不是简单地传递包含方法 a Context 开始,并在需要时使用 "context" 引用它?

我希望我明白你的问题的意思——你得到了答案,并被告知将上下文作为上下文类型变量传递——但不要忘记,当你想调用你的方法并将它传递给上下文时,你将不得不知道这个上下文是什么并初始化它。

例如,如果你想做一个Toast,方法参数之一是上下文和如果你使用了很多吐司,最好有上下文参考,并在每次你想显示吐司时使用它(或使用任何其他需要上下文的方法。)而不是使用 this.getActivity()getApplicationContext().
通过这样做你可以防止重复的代码并且你不需要多次引用代码中的上下文,现在关于 [=25 的问题=].

我可以想到这样一种情况,创建 2 个上下文引用并不是一件坏事:假设您在同一个 activity 中有 2 个使用上下文的方法 - 如果这些方法是使用一次然后你可以在方法中创建上下文引用并让垃圾收集器处理该引用。

我不得不说我同意你的观点,我认为如果它的可选只是传递上下文加入你的方法并让它使用它,它非常简单的解决方案。