解决方案 »

  1.   

    System.exit(0);关闭的是主线程,服务中另外启动的线程不在主线程之上,线程执行完之后自动关闭。其实你的问题就是一个结论。
      

  2.   


    我的问题其实是 system.extit(0)能关闭那些东西,他为什么无法关闭 服务,服务也是运行在主线程中。而且是同一个进程中,而他没关闭。
      

  3.   

    在Java中可以用这个方法来结束整个应用,在android中,这个方法也可以关闭Activity,不过有种情况需要注意:开启的服务如果是和Activity绑定在一起的,当Activity被kill掉后,service也随之被kill掉;如果service没有和Activity绑定在一起,当Activity被kill掉后,service是不会马上被kill掉的,不知道LZ能否理解。
      

  4.   

      也就是如果是bindService启动的服务才会被KILL掉 如果是通过intent启动的需要手动stop
      

  5.   

    服务的存在意义就是后台运行,如果会跟主线程一起销毁那自己的意义也基本没了!想要关闭的话在ondestory里面手动吧!
      

  6.   

    这个结论我都知道,也都做过,不过现在了解清楚了。
    system.exit(0)关闭的是虚拟机中内存,也就是kill掉当前进程。而之所以start的服务不会被杀死是因为启动一个服务是默认是启动一个进程来运行。所以有了 这么个结论 是不是把所有的activity或者服务都将他们设置成在同一个进程中是否能用  system.exit(0)完全退出系统? 尝试中
      

  7.   

    我也很不明白,service本来就是和activity在同一个线程,activity挂了,应该service也挂了才对,但是没有
      

  8.   

    activity若跟service没有bind一起,那么在activity中调用system.exit(0)之后,整个程序确实马上退出了,但是你仔细观看一下系统的log,会有个schedule restart 你的yingyongming 5000ms later,也就是说系统会重启你的service,你可以做个试验测试一下
      

  9.   

    你手动启的服务,在退出activity的时候你也没手动关闭服务啊!并且在服务的onDestroy里加上System.exit(0);或者你activity绑定服务,这样的话就不用手动启动和手动关闭服务了!但服务的onDestroy里都应System.exit(0);     你试下!
      

  10.   

    楼主的问题解决么,能不能贴出你解决的办法。我也碰到和你一样的情况,并且使用  stopself和stopservice会出现ANR