创建了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文档,这是默认功能。 –