Android(安卓)组件之一(Service)
16lz
2021-01-26
Service 在Android官方定义是指没有图形化界面在后台执行耗时操作的应用组件;
下面贴上一张Service的生命周期图
这是两种启动服务(Service)的方式,Service有两种状态 启动和绑定
虽然说Service是可以在后台执行耗时操作,但是直接写耗时代码依然会抛出ANR的错误,这里引申出了服务和线程的区别
服务在后台执行耗时操作要借助线程 但是和直接借用线程执行最大的区别就是线程一旦结束不能再次执行但是服务死亡可以
重新激活。
另外Service还有一个子类IntentService
Service和IntentService的区别在于Service是无序队列执行多个操作同时进行而IntentService是有序队列把多个Itent请求
假如一个队列一个一个执行;
关于停止服务,在非绑定的Service在完成任务的时候为了不占用资源最好将服务停止。可以通过自身调用StopSelf()停止,也可以通过
其他组件StopService()来停止;绑定的Service可以通过OnUnBind()来停止Service;
更多相关文章
- Android(安卓)AsyncTask 异步任务之源码解析
- 源码阅读分析 - View的Touch事件分发
- 【原创】Android(安卓)系统稳定性 - ANR(三)
- Android(安卓)SurfaceView 详解(一)
- Android事件总线框架设计:EventBus3.0源码详解与架构分析(上)
- android实现排队任务
- Android的view重绘
- Android(安卓)UI线程和非UI线程
- Android应用程序Zipalign化 -- 如何让Android应用程序更有效率的