Java 为什么有两个;新意图;?他们会有两种不同的意图吗?

Java 为什么有两个;新意图;?他们会有两种不同的意图吗?,java,android,Java,Android,对于以下代码,如您所见,一个新意图出现在bindService()中,另一个新意图出现在startService()中。我只是想知道最终是否会有两个意图?还是这两个意图还可以 bindService(new Intent(this, MusicPlayerService.class), mPlaybackConnection, Context.BIND_AUTO_CREATE); startService(new Intent(this, MusicPlayerService.c

对于以下代码,如您所见,一个
新意图
出现在
bindService()
中,另一个
新意图
出现在
startService()
中。我只是想知道最终是否会有两个意图?还是这两个意图还可以

bindService(new Intent(this, MusicPlayerService.class),
        mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(new Intent(this, MusicPlayerService.class));

此代码相当于:

Intent intent = new Intent(this, MusicPlayerService.class);
bindService(intent, mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(intent);
在您提供的代码中,每次都会创建一个相同的
Intent
对象


代码是等效的,因为它们都做相同的事情。但是,在整个过程中使用一个意图会稍微快一点,因为对象只创建一次。除此之外,两者都是正确的,并且都做相同的事情。

此代码相当于:

Intent intent = new Intent(this, MusicPlayerService.class);
bindService(intent, mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(intent);
在您提供的代码中,每次都会创建一个相同的
Intent
对象


代码是等效的,因为它们都做相同的事情。但是,在整个过程中使用一个意图会稍微快一点,因为对象只创建一次。除此之外,两者都是正确的,并且都做相同的事情。

我不认为这段代码

bindService(new Intent(this, MusicPlayerService.class),
        mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(new Intent(this, MusicPlayerService.class));
相当于,

    Intent intent = new Intent(this, MusicPlayerService.class);
bindService(intent, mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(intent);

在第一个例子中,有两个截然不同的意图。但是在第二个代码中,只创建了一个目的,所以最好使用第二个代码。

我不认为这是一个代码

bindService(new Intent(this, MusicPlayerService.class),
        mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(new Intent(this, MusicPlayerService.class));
相当于,

    Intent intent = new Intent(this, MusicPlayerService.class);
bindService(intent, mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(intent);

在第一个例子中,有两个截然不同的意图。但是在第二个代码中,只创建了一个目的,所以最好使用第二个代码。

@RaghavSood:回答得很好!非常感谢您如此详细的解释@拉加夫苏德:回答得很好!非常感谢您如此详细的解释!