Android 当服务多次启动时会发生什么情况

Android 当服务多次启动时会发生什么情况,android,service,android-service,Android,Service,Android Service,我创建了一个简单的服务,它将增加一个计数器并记录它 public class AudioService extends Service { int i=0; private final IAudioInterface.Stub mBinder = new IAudioInterface.Stub() { public int getI() { return i; }

我创建了一个简单的服务,它将增加一个计数器并记录它

    public class AudioService extends Service {
    int i=0;
    private final IAudioInterface.Stub mBinder = new IAudioInterface.Stub() {

            public int getI()
            {
                return i;
            }

        };

        @Override
        public IBinder onBind(Intent intent) {

            Log.d("onBind from service","****");

            return mBinder;
        }

        @Override
        public void onCreate() {

            super.onCreate();
            Log.d("onCreate from service","***");
            Log.d("i=","="+i);
            i=i+1;


        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            Log.d("OnDestroy Called from service","***");


        }

        public void onStartCommand(Intent intent, int startId) {
            super.onStart(intent, startId); 
            Log.d("onStartCommand from service","***");

        }

        @Override
        public boolean onUnbind(Intent intent) {
            Log.d("onUnbind from service","***");
        return super.onUnbind(intent);
        }
我正在增加服务的oncreate方法中的i值

客户端活动如下所示

 public class AidlInterfaceServiceActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */

private static final String TAG = "Audio:Service";
IAudioInterface mService = null;
boolean connected = false;
ServiceConnection mConnection  = new ServiceConnection(){

    public void onServiceConnected(ComponentName arg0, IBinder service) {
        // TODO Auto-generated method stub
        connected = true;
        Log.d("Service connected","**");
        mService = IAudioInterface.Stub.asInterface(service);

        try {
            Log.d("i from client","="+mService.getI());
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public void onServiceDisconnected(ComponentName arg0) {
        // TODO Auto-generated method stub
        Log.i(TAG, "Service disConnected");
        connected = false;
        mService= null;
    }
 };


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.d("on created ","**********");

    Intent music = new Intent();
    music.setClass(this,AudioService.class);
    startService(music);
    bindService(music, mConnection, Context.BIND_AUTO_CREATE);


}
AIDL文件如下所示

interface IAudioInterface
{

    int getI();
}
问题是,每当i的值为“0”时,我运行客户端活动。 i值没有增加

我有这些疑问。
1.服务多次启动时会发生什么情况。
2.服务多次绑定时会发生什么情况。
3.服务类中的数据成员在多次启动时会发生什么情况。这些数据成员是否重新初始化。


我真的很困惑。请任何人帮忙。

如果您将计数器变量声明为静态变量,会有帮助吗