service效率高吧,用子线程的话,安卓如果启动太多线程的话,效率会不好。内存消耗大,而且控制起来不如service好控制。

解决方案 »

  1.   

    service其实是跑在主线程中的,如果需要大量的后台费时数据处理操作,最好的方式是在service中开子线程,而不是直接开一个子线程,这样是为了提高子线程的优先级,而不会轻易被系统杀掉。楼主说的 能不能用子线程代替service ?  功能上其实也可以实现,但是还是要根据实际需求和场景使用,例如下载数据等操作最好是在service中开子线程,这个肯定胜过直接开子线程。
      

  2.   

    service 一般用来无直接和UI交互的操作。
    比如定时发送请求给服务器,做日志记录,
    或者接受后台的消息推送等。
    Service能常驻后台服务作为独立进程,线程必须依附于进程。
    Service的设计也提高了应用程序代码编写的逻辑分离,提高可扩展性。
    Service最大的用处是进程通信。
      

  3.   

    学习了,以前一直是直接开一个子线程,以后考虑把子线程放在service里。