gpt4 book ai didi

android - 是否通过静态类有效地传递上下文?

转载 作者:搜寻专家 更新时间:2023-11-01 08:14:43 24 4
gpt4 key购买 nike

在 android 中,我需要引用“context”或者说将“context”传递给几个类。为此,我实现了一个静态类,它包含“上下文”和所有其他类通过它访问的上下文。

//let's say I have a static class DataHolder 
//and my main acitivity i.e. whose context need to be refrenced

public class DataHolder{
public static Context context;
}

public class MainActivity extends Activity{
public void onCreate(Bundle bundle){
DataHolder.context = getApplicationContext();
}
}

那么,这个过程是否可以实现,或者它不是在 Android 应用程序中引用的正确方法。

最佳答案

这里的问题不是关于效率,而是关于静态存储上下文的固有风险。

上下文在许多事件中都可能发生变化,最有可能的是改变设备方向,所以你不应该总是依赖它。我认为您应该将构造函数中的 Context 传递给您认为会使用它的每个类(或者,更确切地说,重新设计您的代码,以便在它不可用的地方不需要它,尽管这可能有点棘手)。

在最坏的情况下,您应该尽可能频繁地更新它。但是,话又说回来,让它始终可用有什么意义呢?我认为不值得冒着懒惰(如果这听起来很粗鲁,我不是故意的)来进行仔细的应用程序设计。

关于android - 是否通过静态类有效地传递上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5946944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com