我提出了一個關於保持服務活着的問題,但是我沒有找到解決方案,所以我有另一個更簡單的問題。START_STICKY無法正常工作
android doc說如果android在START_STICKY上返回的onStartCommand在低內存狀態下殺死一個服務,它會重新創建服務,如果我是正確的。
但是這個服務會在一段時間後在運行任務中被殺死並消失,但它並沒有被重新創建!我在手機上運行這個服務在Android 4.4.2上,當屏幕開啓時,它存活了大約20分鐘 但是當屏幕關閉時它會在大約3或4分鐘後消失......在我的平板電腦上(又是android 4.4.2)它停留更長時間,大約4或5個小時,然後再次消失(我在不同的測試中得到不同的結果)。我甚至在Android 5上測試它,結果類似於Android 4.4.2的平板電腦
我在這裏丟失了什麼?我認爲,當我們在使用回START_STICKY直到我打電話stopService
服務不會被摧毀這裏是我的服務:
public class MyService extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void onDestroy() {
super.onDestroy();
}
}
SRY的英語不好:)
可能與問題[此處討論]有關(http://stackoverflow.com/questions/20636330/start-sticky-does-not-work-on-android-kitkat-edit-and-jelly-bean)。 –
哪個設備測試過? – Nicks