一、概念相关:

1. Activity中的几个方法与Service组件中的几个方法的联系

           Activity                                              Service startService(intent)    ---(调用)----->     onCreate() 、onStart() stopService()            ---(调用)----->      onDestroy() bindService()            ---(调用)----->      onCreate()、onBind() unbindService()        ---(调用)----->      onUnbind()、onDestroy()

Android绑定服务、通过中间人调用服务(单一App内)里已经讲到的:

1.startService启动方式:

onCreate()–> onStartCommand()/onStart() —> onDestory();
1)创建服务onCreate()在整个生命周期仅执行一次,每次调用服务都会执行onStart()或onStartCommand();
2)停止服务onDestory()在整个生命周期仅执行一次;
3)服务一旦启动,生命周期将不受限于UI线程。应用(Activity)终止,服务仍然在后台运行;
4)直接启动的服务,其它应用不能调用其中的功能。

2.bindService绑定方式

onCreate() —> onBind() —> onUnbind() –> onDestory();
1)创建服务onCreate()在整个生命周期仅执行一次;
2)每次调用服务必须首先bindService/onBind,执行unbindService/onUnbind后不能调用;
3)服务的生命周期受限于UI线程。一旦应用(Activity)终止,服务将onDestory销毁;
4)可以在绑定后调用服务里的功能。

3.混合调用(须按顺序操作):

1)首先在主界面创建时,startService(intent)启动方式开启服务,保证服务长期后台运行;
2)然后调用服务时,bindService(intent, connection, BIND_AUTO_CREATE)绑定方式绑定服务,这样可以调用服务的方法;
3)调用服务功能结束后,unbindService(connection)解除绑定服务,置空中介对象;
4)最后不再需要服务时,stopService(intent)终止服务。

二、混合调用示例:

1.绑定方式bindService:

下载 “bindService绑定服务示例” bindService-demo.rar – 已下载120次 – 3 MB

2.混合方式:

下载 “服务启动混合方式示例” startAndBindService.rar – 已下载264次 – 3 MB

声明
本文由 vigiles 原创,转载请注明出处:http://www.cuiweiyou.com/314.html

Android的三种绑定方式相关推荐

  1. Android 的三种定位方式

    转载自:http://blog.csdn.net/luosiye312/article/details/50562309#comments Android 定位大致分为三大类:GPS定位:Networ ...

  2. android画面数据存储方式,Android的三种储存方式

    SharePreferences SharePreferences适合用来保存相对较小的键值集合,比如应用程序的配置文件,它本质是存放在/data/data/[包名]/shared_prefs文件夹下 ...

  3. Android之Android Studio三种方式导入外部资源 以及 报错处理

    Android Studio三种方式导入外部资源 以及 报错处理 android studio提供了三种方式导入外部资源: 1. Library dependency – 在线添加.需联网下载 . 2 ...

  4. Android的三种网络联接方式(URL / HttpURLConnection | HttpClient | InetAddress )

    Android SDK 中一些与网络有关的package,如下: 包描述 java.net 提供与联网有关的类,包括流和数据包(datagram)sockets.Internet 协议和常见 HTTP ...

  5. Android的surface的三种工作方式

    注:文章内容是基于kitkat进行的粗线条分析,做为学习过程中的小结. Surface的三种使用方式 Native层的Surface工作方式有:仅在Proxy端.Proxy和Service端协同.仅在 ...

  6. python中if brthon环境安装包_Ant、Gradle、Python三种打包方式的介绍

    今天谈一下Androdi三种打包方式,Ant.Gradle.Python. 当然最开始打包用Ant 很方便,后来转Studio开发,自带很多Gradle插件就用了它,然后随着打包数量越多,打包时间成了 ...

  7. Android 中三种启用线程的方法

    多线程就是分时利用CPU,宏观上让所有线程一起执行 ,也叫并发 先调用start后调用run 1.start()方法来启动线程,真正实现了多线程运行. 这时无需等待run方法体代码执行完毕,可以直接继 ...

  8. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...

  9. Android方法的概括,Android_Android中startService基本使用方法概述,Android中有两种主要方式使用Ser - phpStudy...

    Android中startService基本使用方法概述 Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindServi ...

  10. AutoLayout的三种设置方式之——NSLayoutConstraint代码篇

    本文转载至 http://www.cnblogs.com/madpanda/p/4311980.html AutoLayout是从IOS 6开始苹果引入来取代autoresizing的新的布局技术,该 ...

最新文章

  1. 快评 美国软件开发杂志的最新jolt大奖!
  2. 沉浸式技术immersive technology
  3. b插到元素a之前python_python之路_前端基础之jQuery入门3
  4. 十一、Powerbi函数篇
  5. 最新cocoaPods安装、升级、卸载及删除库命令(持续更新)
  6. 管理表空间和数据文件——维护表空间——设置默认表空间和删除表空间和删除数据文件盒临时文件...
  7. 日历签到 java_我的Android案例―签到日历
  8. 带父节点的平衡二叉树_Python算法系列—深度优先遍历算法【二叉树】
  9. php如何打开格式_php的文件格式是什么?如何打开php文件[graphic]
  10. 四层协议和七层协议详解
  11. dell进入u盘启动模式_Dell戴尔笔记本bios设置u盘启动详细步骤
  12. vue中使用svg矢量图
  13. CentOS更改语言两种方式
  14. 利用python实现外星人入侵大战小游戏(带源代码)
  15. scrapy shell 调试报错TypeError: module.__init__() takes at most 2 arguments (3 g iven)
  16. 【输入法】搜狗输入法中英文切换
  17. 【JavaIO流之实战演练】
  18. 【MATLAB】函数定义与反函数
  19. jQuery结合Ajax
  20. 学生管理系统JAVA-面向过程

热门文章

  1. python中syntaxerror_解决python中syntaxerror错误的方法
  2. 5个最佳的3D游戏开发工具
  3. 日本显示屏公司的尴尬:夏普被收购 JDI也岌岌可危
  4. 关于boa+cgi上传文件大小的问题
  5. 计算机二级Python笔记——第一部分
  6. MySQL数据库表数据迁移--ibd的使用
  7. 卓有成效的管理者-时间管理篇
  8. Microsoft Visual SourceSafe 2005 服务端安装配置过程以及出现的问题,以及解决方法!...
  9. C++20新特性个人总结
  10. 摆脱垃圾服务商 选择微空间免费空间