如题,我在某个Activity中启动了其他线程,考虑到Activity会停止,会被放入Activity栈中,这时启动的其他线程怎么变化?主要是要用一个线程监听socket连接,现在考虑要不要用Service实现,可惜Service还不是很熟悉……

解决方案 »

  1.   

    描述得不清楚呀.
     我理解你的意思是,如果从栈底到栈顶分别为A,B,C,当前状态显示C.
    在这种状态下,B用了Stop或者或者关闭后,B里面的线程还在执行会出现什么状况吧.
    答案是:只要Activity里面有后台线程,这个Activity就不会消毁.
      

  2.   

    应该是不会销毁的。。如果线程用到activity中的局部变量或者是activity本身,就是把activity泄露了,垃圾回收器也不能及时回收activity。
      

  3.   

    其实我想问的是,栈里有A,B,C,当前显示为C,B为stop状态,这时在B中启动的其他线程是否正常执行?
      

  4.   

    关闭Activity时,之前起的线程还在执行,但是有可能会用到一些原来Activity里定义变量,
    这些变量随着Activity一起销毁了,所以线程里可能会报空指针。
      

  5.   

    我建议用Service,要搞清四大组件各个的用途
      

  6.   

    线程和ACTIVITY是独立的,即使ACTIVITY停止销毁了线程还是会执行到该结束的时候结束
      

  7.   

    主要是嫌Service与Activity通信稍微麻烦,多线程就够用