我正在使用android.app.Application類(一個子類)來存儲一些「全局」信息。一個例子是用戶最後一次從GPS/wifi上抓取它的位置。我的問題是我是否應該將這些「全局變量」存儲爲靜態變量或實例變量。不確定哪種情況更好或更正確。Android應用程序類全局實例或靜態
情形A:使用靜態變量 -
public class MyApplication extends android.app.Application {
private static Location myLocation;
public static Location getLocation() {
return myLocation;
}
public static void setLocation(Location loc) {
myLocation = loc;
}
}
情形A:使用 -
loc = MyApplication.getLocation();
MyApplication.setLocation(loc);
情形B:使用實例變量 -
public class MyApplication extends Application {
private Location myLocation;
public Location getLocation() {
return this.myLocation;
}
public void setLocation(Location loc) {
this.myLocation = loc;
}
}
方案B:用法 -
loc = getApplication().getLocation();
getApplication().setLocation(loc);
謝謝。
更多細節我瞭解實例和靜態之間的一般概念。無論如何,我在這個Android應用程序中特別要求只有一個Application子類的實例。 – kharles