写了个简单的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被调用了两次, 有谁知道为什么?
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被调用了两次, 有谁知道为什么?
楼主是怎样启动Service的
贴出来看看!
1. 如果是 activity ,在你 转换屏幕 横竖时, 实质系统会重新重建 这个activity.依次调用 onCreate,onStart,OnResume
2. 如果是 service, 当内存吃紧的时候,它会重新 调用 onCreate创建service. 但不会调用onStart.
因此,onStart里的任务不会被执行。