Android Service完全解析与实际运用
来源:互联网 发布:物流线路规划软件 编辑:程序博客网 时间:2024/06/11 09:45
在这一章中我们介绍Android中Service的用法,让大家都能用Serveice
你将了解:
- 为什么在Service中创建子线程而不是Activity中
- Service的两种启动方法有什么区别
- IntentService的使用场景与特点
一、为什么在Service中创建子线程而不是Activity中
这是因为Activity很难对Thread进行控制,当Activity被销毁之后,就没有任何其它的办法可以再重新获取到之前创建的子线程的实例。而且在一个Activity中创建的子线程,另一个Activity无法对其进行操作。但是Service就不同了,所有的Activity都可以与Service进行关联,然后可以很方便地操作其中的方法,即使Activity被销毁了,之后只要重新与Service建立关联,就又能够获取到原有的Service中Binder的实例。因此,使用Service来处理后台任务,Activity就可以放心地finish,完全不需要担心无法对后台任务进行控制的情况。
二、Service的两种启动方法有什么区别
- 在Context中通过public boolean bindService(Intent service,ServiceConnection conn,int flags)方法来进行Service与Context的关联并启动,并且Service的生命周期依附于Context(不求同时同分同秒生,但求同时同分同秒死)
- 通过public ComponentName startService(Intent service)方法去启动一个Service,此时Service的生命周期与启动它的Context无关。
注意:
都需要在xml里注册你的Service,就像这样:
<service android:name=".packnameName.youServiceName" android:enabled="true" />
三、IntentService的使用场景与特点
其是Service的子类,异步会自动停止的服务,处理完耗时操作自动停止并销毁服务
优点:
- 不需手动new Thread 本身就异步嘛。
- 不需考虑什么时候关闭,自动关闭嘛
onStartCommand中回调了onStart,onStart中通过mServiceHandler发送消息到该handler的handleMessage中去。最后handleMessage中回调onHandleIntent(intent)。
阅读全文
0 0
- Android Service完全解析与实际运用
- Android Service 完全解析
- Android Service 完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service 完全解析
- android service完全解析。
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Android Service完全解析
- Service完全解析 分类: ANDROID
- Android基础--Service完全解析
- Android中Service完全解析
- iOS -- 置顶 点击 事件
- leetcode week18
- AD中PCB各层含义
- iOS端移动支付的一些坑
- Qt5解决中文乱码方法
- Android Service完全解析与实际运用
- mysql 分表分区策略
- 搭建LNMP环境(CentOS 6.8 + nginx1.10 + mysql5.6 + php5.6 )
- C语言函数返回类型为指针时的一些问题
- mysql之删除(删除、清空、删除重复数据)
- SWFUpload 2.5.0版 官方说明文档 中文翻译版 SWFUpload v2.5.0 Documentation SWFUpload 2.5.0版 官方说明文档 中文翻译版 Table
- android 监听系统键盘显隐
- px与dp互相转换
- 去掉btn外面的焦点蓝框