为什么我的服务在运行时会调用它的onCreate()?

时间:2013-05-10 08:22:59

标签: android android-service oncreate

我的Android应用程序中有一个服务,只有在退出应用程序时才会停止。

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()方法。当检查服务状态时它正在运行但是它的功能不起作用。我被困在这几个小时。这里有什么问题?我试过onLowMemory ()在此服务中。但不是结果。

1 个答案:

答案 0 :(得分:0)

如果在onStartCommand()中返回START_STICKY,如果系统被系统杀死(可能是在内存不足的情况下),则会再次创建服务。在你的情况下必须发生同样的事情并且onCreate()被调用。