创建了一个IntentService
并放入for loop
方法onHandleIntent
。每次我关闭应用程序(从最近的不强制关闭中删除)它都会停止。但是onDestroy
没有叫。我也尝试过不同的设备。我不认为这是内存不足的问题。
那么服务是否意味着仅在应用程序处于前台时才使用?
当用户关闭应用程序时,我必须在主线程的后台做一些任务并且服务关闭。
这是我的示例代码
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: ");
}
}
refs:即使应用程序关闭,如何保持 IntentService 运行?
服务在应用程序关闭时重新启动 - START_STICKY