我弄瞎了一個Android應用類,它實現了Singleton模式並將一個靜態對象綁定到它。在Android應用程序中使用靜態成員不好?
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);
}
}
是否有任何問題與此實現,對於性能,內存泄漏或可能例外,當的getInstance()。myObj.something()被調用的形式廣播接收器或服務?
我很感興趣看到這一個很好的答案。 Android Studio也警告我關於'Application'類中的'static'變量,關於內存泄漏。 – Vucko
也是,另一方面,這裏有很多這些實現在stackoverflow和各種博客。 – glethien
爲什麼使用static和getInstance?您可以在任何有上下文對象的地方訪問應用程序所以你讓bigObject變成簡單的字段並通過getter訪問它。 –