gpt4 book ai didi

android - 在 Android 应用程序中使用静态成员不好吗?

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

我偶然发现了一个 Android 应用程序类,它实现了单例模式并将静态对象绑定(bind)到它。

public class App extends Application 
{
public static BigObject myObj;

private static App instance;

public static App getInstance()
{
return instance;
}

@Override
public void onCreate() {
super.onCreate();
instance = this;
myObj = new BigObject(this);
}

}

当从 BroadcastReceiver 或 Service 调用 getInstance().myObj.something() 时,此实现是否存在关于性能、内存泄漏或异常的任何问题?

最佳答案

我看到的唯一缺点是代码有点难看,使用依赖注入(inject)会更好。我不知道,但如果操作系统保证所有其他组件将在 Application::onCreate 之后启动,那么就没有问题。即使是非主线程也不会缓存 bigObject 的值。但是如果你想在 onCreate 之后设置 bigObject 的值,或者它的创建需要很长时间,你可能会遇到数据竞争或启动缓慢的问题。

关于android - 在 Android 应用程序中使用静态成员不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517657/

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