原因:因为你用了Bound Service 和 Start Service两种方法启动了Service。
如果只是Bound Service是没有问题的,因为绑定它的Activity销毁时,Service也就销毁了。
但是,当你用Start Service时,启动它的Activity销毁时,Service是不会跟着一起销毁的,而是一直在后台运行着。
所以现在的问题就是,你在Start Service中用到了已经被destroy的Activity中的东西,所以。
ps:以上是个人理解而已。建议加强Activity中Service的管理,如当Activity销毁时,也要显示调用stopService()终止Service。
或者是Service本身调用stopSelf()终止自身。

解决方案 »

  1.   

    问题应该是出在我后台的服务上的,我现在的方向是把服务重新开一个进程,但发现重新设置 android:process属性,引用服务中的对象就会报错,
      

  2.   

    我要做的是就是应用退出,服务保持后台,服务的作用是保持与服务器的即时通讯,
    问题出在后台的服务我也是可以确定的,是在后台服务中运行的过程中重新启动程序,程序就重新绑定服务,可能是这个时候的activity没有更新,依旧沿用了后台服务之前的activity,但我不知道从那里下手,
      

  3.   

    我也遇到过同样的问题当你要退出应用的时候
    在你Activity的onDestroy方法调用下面方法可以解决你的问题,虽然不是很完美的解决
    // 关闭进程
    android.os.Process.killProcess(android.os.Process.myPid());//获取PID
    System.exit(0);如果你找到答案 请告诉我
      

  4.   

    要怎么在startService和bindservice混用的情况下修改服务的进程?
      

  5.   

    我要做的是就是应用退出,服务保持后台,服务的作用是保持与服务器的即时通讯,
    如果服务想保持后台,那么用Start Service就可以了,为什么还要用bind
      

  6.   

    我要做的是就是应用退出,服务保持后台,服务的作用是保持与服务器的即时通讯,
    如果服务想保持后台,那么用Start Service就可以了,为什么还要用bind
    项目里需要用到库的对象,和方法,库是一些即时通讯的东西