《Android SDK Document 框架导读的翻译和注解》系列的文章将对Android应用程序的架构做一个基本的介绍,本文源于Android SDK ducument的第一个部分,描绘了Android 应用程序系统的骨架,因此,这部分对理解Android系统是最有帮助的。在翻译的时候,增加本人对Android的理解和评价。请指正。 本文将介绍Service.

Service:

一个Service没有可视化的UI,而是后台长时间运行的。 比如,在用户做其他事情的时候,某个Service能播放背景音乐,或者从互联网抓取数据, 进行计算,然后把结果提供给需要的Activity. 每个Service都继承自Service基类。

一个典型的例子是媒体播放器从播放列表中播放音乐。媒体播放器这个应用程序有多个Activity,并允许用户选择音乐并播放。 然而,音乐的播放并不能被Activity处理,因为用户希望当离开播放器去做其它事情的时候,音乐是照常播放的。为了让音乐继续播放,播放器的Activity可以启动一个Service并在后台运行。系统可以让音乐播放的Service继续运行,即使当启动这个Service的Activity从屏幕消。

可以连接(或者称绑定)一个正在运行的Service(Service没有运行,则可将其启动). 连接后,你能通过Service暴露的接口与Service通信。对音乐服务,这些暴露的接口允许用户暂停,回退,停止,重新播放。

跟Activity和其他组件一样,Service运行在应用程序进程的主线程中。 因此,他们不会阻止其他组件或者用户界面。他们经常为一些消耗时间的任务(如音乐播放)产生新的线程。 更多知识请关注后面的Processes and Threads章节.

更多相关文章

  1. Android 应用程序主框架搭建
  2. 自定义Dialog 实现 仿网易云音乐的隐私条款声明弹框
  3. android Activity 应用程序 生命周期
  4. [置顶] 如何使Android应用程序获取系统权限来修改系统时间

随机推荐

  1. MySQL数据库基础入门之常用命令小结
  2. MySQL数据库入门之备份数据库操作详解
  3. MySQL数据库入门之多实例配置方法详解
  4. MySQL数据库基础篇之入门基础命令小结
  5. Ubuntu18.0.4下mysql 8.0.20 安装配置方
  6. mysql 8.0.20 安装配置方法图文教程
  7. mysql8.0.20下载安装及遇到的问题(图文详
  8. MySQL 8.0.20 安装教程图文详解(windows
  9. MySQL8.0.20安装教程及其安装问题详细教
  10. mysql闪回工具binlog2sql安装配置教程详