写了个简单的Service, 如下
public class EmptyService extends Service { private static final String TAG = "xxx"; @Override
public IBinder onBind(Intent intent) {
return null;
} @Override
public void onCreate() {
Log.v(TAG, "onCreate");
} @Override
public void onDestroy() {
Log.v(TAG, "onDestroy");
}
}启动该Service时, Log显示onCreate被调用了两次, 有谁知道为什么?

解决方案 »

  1.   

    你这代码有问题啊,super.onCreate(); 看不到啊
      

  2.   

    不仅仅是onCreate   很多方法都在logcat里显示连续调用2次 没什么  习以为常 
      

  3.   

    应该不会这个问题吧!
    楼主是怎样启动Service的
    贴出来看看!
      

  4.   

    1L说的对,父类的create和destroy一定要调用。然后再试试。不过估计一样
      

  5.   

    挺奇怪的,以前也遇到过,时好时坏当时启动一个Activity时,先把7个生命周期函数都执行了一遍,然后又开始执行onCreate、onStart、onResume,具体原因不太清楚
      

  6.   

    1楼 4楼正解~~~横竖屏幕转换的时候也会出这个情况 因为都是重新建立Activity
      

  7.   


     1.  如果是 activity ,在你 转换屏幕 横竖时, 实质系统会重新重建 这个activity.依次调用 onCreate,onStart,OnResume
    2.  如果是 service, 当内存吃紧的时候,它会重新 调用 onCreate创建service. 但不会调用onStart.
        因此,onStart里的任务不会被执行。