这是关于进程与线程的澄清问题。我知道每个应用程序都将作为自己独立的进程运行,这意味着它有自己的linux进程ID,并且进程由线程,并发运行的代码片段组成。让我说我开始愤怒的小鸟我知道应用程序本身有一个进程ID。背景音乐是否是它自己独立的过程(由另一个播放音乐的应用程序启动)或者是原始过程中的单独线程?
答案 0 :(得分:2)
我认为这只是一个媒体(MediaPlayer)在同一个应用程序中播放,可能在一个单独的线程中,但不一定。
答案 1 :(得分:1)
背景音乐使用单独的线程。看一下这个例子。
public class Pro扩展了Activity {
MediaPlayer ourSong;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pro);
ourSong = MediaPlayer.create(Pro.this, R.raw.sou);
// music started
ourSong.start();
Thread time = new Thread(){
public void run(){
try{
sleep(2000);
} catch(InterruptedException e){
e.printStackTrace();
}finally{
Intent openMainActivity = new Intent("com.example.disd.Menu");
startActivity(openMainActivity);
}
}
};
time.start();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
ourSong.release();
finish();
}
}
请参阅链接http://www.codeproject.com/Articles/258176/Adding-Background-Music-to-Android-App