对于以下代码,正如您所见,new Intent
中有一个bindService()
,new Intent
中有startService()
个bindService(new Intent(this, MusicPlayerService.class),
mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(new Intent(this, MusicPlayerService.class));
。我只是想知道最后是否会有两个Intent?或者两个意图仍然可以吗?
{{1}}
答案 0 :(得分:4)
此代码相当于:
Intent intent = new Intent(this, MusicPlayerService.class);
bindService(intent, mPlaybackConnection, Context.BIND_AUTO_CREATE);
startService(intent);
在您提供的代码中,每次都会创建一个相同的Intent
对象。
代码在某种意义上是相同的,因为它们都做同样的事情。但是,在整个过程中使用一个Intent会非常快一些,因为对象只创建一次。除此之外,两者都是正确的,并且都做同样的事情。
答案 1 :(得分:1)
我不认为这段代码,
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,所以最好使用第二个代码。