gpt4 book ai didi

java - 应用类中的内部类,对吗?

转载 作者:行者123 更新时间:2023-11-30 11:38:38 26 4
gpt4 key购买 nike

我在一个有很多 Activity 的应用程序中工作,并且大多数 Activity 共享多个对象,所以我通过扩展 android Application 类来创建 MyApplication 类来存储要共享的选定对象。但是在提供程序/帮助程序类中访问这些对象时我感到很不舒服,因为提供程序需要上下文来获取应用程序实例

所以我计划在 MyApplication 类中创建名为 SelectionProvider 的静态类来存储选定的对象,然后我可以以静态方式访问这些对象而无需为 MyApplication 创建实例。

带有静态内部类的MyApplication类如下

class MyApplication extends Application {
public static final String TAG = "MyApplication";



public static class SelectionProvider {
private static UserObj userObj;
private static TownObj townObj;
private static StoreObj storeObj;

public static UserObj getUserObj() {
return userObj;
}

public static setUserObj(UserObj userObj) {
this.userObj = userObj;
}

public static TownObj getTownObj() {
return townObj;
}

public static setTownObj(TownObj townObj) {
this.townObj = townObj;
}

public static StoreObj getStoreObj() {
return storeObj;
}

public static setStoreObj() {
this.storeObj = storeObj;
}
}
}

这是正确的方法吗?如果不是,为什么?

所选对象(存储在内部类中)会在整个应用程序生命周期内驻留还是会在任何地方销毁?

最佳答案

只要您没有 multiple processes,这个方法或其他地方的静态值应该可以正常工作并在应用程序的整个生命周期内持续存在。需要访问此对象的运行。如果是这种情况,您应该使用 Service处理交易。

关于java - 应用类中的内部类,对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564057/

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