我写了一个小程序,实现播放音乐的功能,没有用服务,但是我按下返回,音乐还在播放,onStop()和onDestory()都已调用,说明这个activity已经结束了,为什么音乐还在播放?

解决方案 »

  1.   

    在onstop方法中调用mediaPlayer.stop()
      

  2.   

    用DDMS看看对应的进程有没删除 System.exit(0);

    android.os.Process.killProcess(android.os.Process.myPid());
    可以杀死进程试试
      

  3.   

    进程肯定没杀死的,我装了任务管理器,看到进程还在,android系统就是这样子吧?返回的时候进程不会关掉。调了mediaPlayer.stop()确实可以停掉音乐,但是为什么activity还能后台播放,不是只有service才能后台运行吗?
      

  4.   

    是这样的 onStop()和onDestory()只是结束的是Activity
    Activity所在的进程可能还没结束,进程托管机制会在资源不足时,会自动回收这些进程。
    即使在后台运行的进程资源不足也会被杀死。
      

  5.   

    这跟Activity 和service 没关系,这是MediaPlayer的播放机制,将资源放入MediaPlayer中时,启动播放,开启一个播放进程,MediaPlayer实现的!!如果不调用mediaPalyer.stop() 和 mediaPlayer.release() ,会等到播放完后自动释放!!
      

  6.   

    MediaPlayer不会开新进程的吧。。
      

  7.   

    回5L:既然MediaPlayer有这种功能,为什么好多资料中都说,service很重要的作用是在播放媒体中用?