我在一个有许多活动的应用程序中工作,并且大多数活动共享多个对象,所以我通过扩展 android Application 类来创建 MyApplication 类来存储选定的对象以共享。但是在访问提供程序/帮助程序类中的这些对象时,我感到非常不舒服,因为提供程序中需要上下文来获取 Application 的实例。
所以我计划在 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;
}
}
}
这是正确的方法吗?如果不是为什么?
将在整个应用程序生命周期中驻留选定的对象(存储在内部类中)还是会在任何地方销毁?