为什么我的服务在运行时调用onCreate()本身?
问题描述:
我在我的android应用程序中有一个服务,它只在退出应用程序时停止。为什么我的服务在运行时调用onCreate()本身?
public class MyService extends Service {
public MyService() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
try {
if(intent != null){
//......
}
} catch (Throwable e) {
}
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onCreate() {
super.onCreate();
//......
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
这种服务有时会调用其onCreate()方法本身,而running.When检查正在运行的服务的状态,但它的功能不干活。我坚持这个对于很多hours.What这里的问题?我在这个服务上尝试了LowMemory(),但是没有结果。
答
如果您在onStartCommand()
中返回START_STICKY,那么如果服务被系统杀死(可能是在内存不足的情况下),服务会再次创建。你的情况一定发生了同样的事情,并且onCreate()
被叫了。
我重写onLowMemory()到我的服务并检查。但是这个方法没有被调用。 – 2013-05-10 08:48:32