創建一個作爲單例使用的Service
是不好的做法嗎?我的意思是Service
是從來沒有停止過,幷包含一些其他的引擎和Activities
會使用一些私人數據,所以Service
可能有類似:在Android中使用服務作爲單例
public class CustomService extends Service {
private List<Profile> mProfiles;
private static CustomService instance;
public static CustomService getInstance() {
if(instance == null) {
instance = new CustomService();
}
return instance;
}
public List<Profile> getProfiles() {
return mProfiles;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
...
}
...
}
做Service
,而不是僅僅一個單例的原因它必須獨立於應用程序工作,因爲它在啓動時連接一個永遠不應該關閉並且不依賴於應用程序的websocket。你會建議我做什麼?有沒有更好的方法來重新使用Service
以便從其他引擎獲得一些數據(例如mProfiles
陣列)和Activities
?
我讀過某個地方Service
作爲一個單身人士,但我不知道如何從應用程序的任何其他點訪問私有變量。
在此先感謝。
據我所知,你不應該自己創建一個服務實例,而應該使用'startService()'使用上下文。我不確定使用'new CustomService();' –
會帶來什麼後果?嗨,謝謝你的回答。但startService將啓動該服務並調用onStartCommand,但這不是我想要的。我想在應用程序的onCreate方法上啓動一次服務,然後從應用程序的任何其他位置獲取服務的私有變量 – FVod