創建了IntentService
並將for loop
放入onHandleIntent
方法中。每當我關閉應用程序(從最近不強制關閉),它停止。但onDestroy
沒有叫。 我也嘗試過不同的設備。我不認爲這是一個內存不足的問題。
服務的意思是隻有當應用程序在前臺使用?
我必須在主線程的背景中執行一些任務,並且在用戶關閉應用程序時服務已關閉。
這裏是我的示例代碼Android服務在關閉應用程序後立即停止
public class MyIntentService extends IntentService {
private static final String TAG = "MyIntentService";
public MyIntentService() {
super("MyIntentService");
}
@Override
protected void onHandleIntent(Intent intent) {
for (int i = 0; i < 30; i++) {
Log.d(TAG, "onHandleIntent: " + i);
try {
Thread.sleep(600);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: ");
}
}
裁判:How to keep an IntentService running even when app is closed?
Service restarted on Application Close - START_STICKY
爲什麼我應該使用onTaskRemoved。除非記憶力下降,否則服務不應該被殺死。根據Android文檔,這是默認功能。 –