八.Android的Service生命周期
来源:互联网 发布:数据存储服务器 编辑:程序博客网 时间:2024/06/05 18:48
1.service 概述
- 服务是脱离UI的一种运行程序,它负责了一些不必显示在屏幕上的运行过程。
- 服务分为:本地服务和远程服务,此处只讨论本地服务。
- 两种启动service的方式:startService和bindService。
2.Service生命周期
2.1 Service基本生命周期
- 提到生命周期,就要提到两种开启Service的方法了:
- 直接开启startService,使用stopService关闭。
stratService和stopService一一对应,一个开启,一个结束。 - 绑定开启bindService,使用unbindService解绑关闭。
bindServic和unbindService一一对应,一个绑定开启,一个解绑结束。
两者区别是: - start和stop只能开启和关闭,无法操作service。bind和unbind可以操作service。
- start开启的service,调用者退出后service仍然存在。bind开启的service,调用者退出后,随着调用者销毁。
- 直接开启startService,使用stopService关闭。
2.2 Service生命周期进阶
生命周期过程中的方法一共有五种:
那什么时候调用这些方法呢?
注意以下条件:
- 在整个生命周期内,只有startCommand()能被多次调用。其他方法只能被调用一次。(即只能绑定和解绑一次。)
- 绑定后没有解绑,无法使用stopService()将其停止。
- 如果已经onCreate(),那么startService()将只调用startCommand()。
- 如果是以bindService开启,那么使用unbindService时就会**自动调用**onDestroy销毁。
根据条件所有的判定图如下:
2.3 例子练习
看表格里的顺序写调用的方法,推荐把右边遮起来0.0:
start=startService
stop=stopService
bind=bindService
unbind=unbindService
A:onCreate()
B:onStartCommand()
C:onDestroy()
D:onBind()
E:onUnbind()
3.总结
总算把Service的生命周期弄清楚了。四个操作方法和五个内部方法如下:
4.源码
- Github源码地址
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 的生命周期
- Android Service的生命周期
- Android Service的生命周期
- Android Service的生命周期
- hdu-5876-Sparse Graph
- BookBlock - 效果非常真实的书本翻页预览
- 启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错
- Web 开发中很实用的10个效果
- Sql Server2012还原数据库时提示“未选择要还原的备份集”解决办法
- 八.Android的Service生命周期
- hdu 5876 Sparse Graph 补图单源最短路
- CSS3 clip-path polygon图形构建与动画变换
- Servlet实现Cookie的创建,读取,删除
- android自带图片资源图标一览,android.R.drawable
- 9-patch image ....9.png malformed
- iOS 关于webview 加载路径乱码
- OpenCV基础学习一
- iOS:16进制转UIColor