android中通过本地service处理事务和通过新开线程处理事务的区别
2014-06-23 15:52
357 查看
学了service后发现了一个问题就是有些事务可以通过service来处理,然后通过activity和service通讯来获取处理的结果,但我觉得这些完全可以通过在acitivity新建一个线程来处理,而且比用本地service方便多了,那究竟什么场合才适合用本地service呢?
后来终于找到答案了,就是己的thread是在Acitivity中创建的,这样的话这个线程的生命周期是受Acitivity的生命周期决定的,如果Acitivity被移到后台,则这个Acitivity可能会被系统回收掉,那么在这个Activity中的thread也会被回收,这样的话这个线程的生命是不安全的。
而使用service会在后台一直运行,它的回收是由你的程序决定的,不用担心被回收问题。
后来终于找到答案了,就是己的thread是在Acitivity中创建的,这样的话这个线程的生命周期是受Acitivity的生命周期决定的,如果Acitivity被移到后台,则这个Acitivity可能会被系统回收掉,那么在这个Activity中的thread也会被回收,这样的话这个线程的生命是不安全的。
而使用service会在后台一直运行,它的回收是由你的程序决定的,不用担心被回收问题。
相关文章推荐
- 在Service中新开线程和直接新开线程的区别与意义
- Android Handler机制 (一个Thead中可以建立多个Hander,通过msg.target保证MessageQueue中的每个msg交由发送message的handler进行处理 ,但是 每个线程中最多只有一个Looper,肯定也就一个MessageQuque)
- android的线程(Thread)和服务(Service)的区别
- Android Service生命周期,本地服务远程服务,前台服务后台服务,启动方式,与IntentService区别全面解析
- android的线程(Thread)和服务(Service)的区别
- 在Service中新开线程和直接新开线程的区别与意义
- Android的线程(Thread)和服务(Service)的区别
- 线程相关——HandlerThread、IntentService、ResultReceiver:结果接收者、AsyncTask:异步任务、Android中处理线程间通信的方式
- android的线程(Thread)和服务(Service)的区别
- android使用ExecutorService来处理子线程与UI线程的通讯问题
- 在Service中新开线程和直接新开线程的区别与意义
- Android的线程(Thread)和服务(Service)的区别
- Android开发之Service通过Messenger实现线程间的通信
- 【Android开发】线程与消息处理-通过实现Runnable接口来创建线程
- Android中Service与线程的区别
- android service和线程的用法区别
- android的线程(Thread)和服务(Service)的区别
- Android中通过其他线程更新主线程UI
- 【转载】用Android访问本地站点---(localhost,10.0.2.2)要区别
- Android Service之本地 Service 例子