是否可以創建活動單身人士? 我發現了許多資源,只是告訴使用android:launchMode="singleInstance"
或singleTask
,但我會構造函數被調用一次。防止活動的多重實例化
理想情況下,我希望能夠指定自定義構造函數/構建方法,例如getInstance()
是否可以創建活動單身人士? 我發現了許多資源,只是告訴使用android:launchMode="singleInstance"
或singleTask
,但我會構造函數被調用一次。防止活動的多重實例化
理想情況下,我希望能夠指定自定義構造函數/構建方法,例如getInstance()
您可以將您的參考文獻保存在Application
而不是Activity
中。應用程序類實際上是一個單例。您只需要定義您的訪問方法。
public class BaseApplication extends Application {
private static BaseApplication sInstance = null;
public synchronized static BaseApplication getInstance() {
return sInstance;
}
public synchronized static void setInstance(BaseApplication app) {
sInstance = app;
}
public BaseApplication() {
}
@Override
public void onCreate() {
super.onCreate();
setInstance(this);
}
現在您可以致電BaseApplication.getInstance()
訪問它。作爲獎勵Application
延伸Context
所以現在你有一個應用程序上下文參考任何地方你想要的(除了膨脹佈局除了安全使用幾乎所有地方)。
不要忘了在你的清單來定義這個類的基類應用:
<application
android:name="com.yourapp.BaseApplication">
訂購他們做如下:
1)定義什麼包括Activity
狀態
2)保存的狀態下onSaveInstanceState
3)onCreate
或在還原狀態onRestoreInstanceState
這不是活動的工作方式。您找到的資源是正確的。 – Rohit5k2 2015-01-31 22:26:13
好的。如果這是不可能的,是否有辦法實現類似的東西? – Mak 2015-01-31 22:28:05
雖然在技術上可以讓任何一個班級成爲單身人士,但由於其生命週期的原因,一項活動是最差的候選人之一。您不會避免生命週期處理,對不起。你爲什麼需要這個? – 2015-01-31 22:28:26