线程的run方法执行完线程就over了。

解决方案 »

  1.   

    晕,看来你还不理解service,如果服务已经启动再次执行startService是没有用的,但是在Service的onStart中可以看到新的参数,没有说在线程中开服务的,只有服务中开线程
      

  2.   

    谢谢。翻了资料看了看,确实如你所说。
    但我new一个thread,在run中执行startService也是可以的啊。我试过也没什么问题啊
    只是每次调用startService时都会new一个thread。如果在服务中开线程,是不是在服务的onCreate方法开启线程就可以?
    以后再执行startService,虽然不走onCreate了,但onStart还是在thread原来的方法中执行的吧?
    在onCreate中创建的线程,是直到service结束线程才结束吗?还是run函数执行完线程就结束了?
      

  3.   

    改成了在service的onStart中开辟线程执行耗时操作了。
    service中其他不耗时的就没有去开辟新线程执行。
      

  4.   


    我弱弱的问一句 new一个thread,在run中执行startService,Service会有改变么?是本身那个还是又开一个Service?Service不是开机启动的么?
      

  5.   

    用startService方式启动service,只会启动一次,再次启动时不会执行service的onCreate方法了,直接执行onStart方法
    service不会开机启动,广播才会开机就启动。
      

  6.   

    在UI Activity中new一个thread,在run中执行startService。如果是本地service,那还是运行在UI主线程中。所以没什么意义啦!
      

  7.   

    楼主可以定义一个全局变量么 如果这个实例变量为null则创建new 一个新的Thread,否则 就不创建喽、