Android Service 组件基础应用
来源:互联网 发布:淘宝里什么是旺旺号 编辑:程序博客网 时间:2024/05/24 04:58
Serviece 是一个Android中的一个后台服务;
Service:是由Context派生出来的。所以可以调用Context中的方法,主要用于长时间耗时操作,由于其是在主线程运行的。所以一般会在service中起一个工作线程。又因为它的级别比后台进程的级别高。所以比直接在Activity中起工作线程,更能避免在内存不足时。被系统kill掉;
Serviece 一直运行在后台,是没有界面的,所以绝对不会到前台的(如果需要和用户进行交互,就需要使用Activity),Service被启动(startservice)是有自己独立的生命周期,不过Service
只是被绑定(bindservice())的话,其生命周期是依赖于其访问者;
一.Service的创建
需继承Serviece(其是抽象类),重写部分方法实现业务;
在配置文件中注册;(intent-filter可用于隐式调用)
二,Service中的主要方法
onCreate():创建时调用
onBind(Intent intent):绑定时调用
onStartCommand(Intent intent, int flags, int startId):每次调用startService()调用
public void onRebind(Intent intent):重新绑定时调用
onUnbind(Intent intent);解除绑定时调用.
onDestroy():销毁时调用
三,Service被调用的两种方式,和混合方式;
startService(intent);
此模式启动Service :其有自己独立的生命周期。其访问者退出了。也有可继续运行;
所以Service 有时会调用stopSelf()方法进行销毁
不过不能与其访问者有相互的数据通信;
调用Service中的方法依次是:onCreate()---->onStartCommand-----> onDestroy();
bindService(intent,coun,BIND_AUTO_CREATE);
此模式启动Service:其的生命周期依赖于访问者;
参数解释:coun是ServiceConnection对象,用来接收Service中onBind()方法
BIND_AUTO_CREATE是创建模式。(不存在则自动创建)
的返回值;如图
调用Service中的的方法依次是: onCreate()àonBind(Intent intent)à onUnbind(Intent intent)
à onDestroy();
混合方式:
当Service被不同的Activity分别调用了startService(intent)和
bindService(intent,coun,BIND_AUTO_CREATE)时。其有自己独特的生命周期
:必须调用了stopservice()和unbindservice();其才会销毁。并调用onDestroy();
使用IntentService
IntentService是Service一个子类;它有一些自己的特征;
1. IntentService会创建单独的工作线程来处理所有Intent请求(IntentService中有一个队列,用来存储Intent所以。所以当有多个Intent请求,它会依次执行)
2. IntentService会利用创建的工作线程来处理onHandleIntent()方法,所以我们只需把业务写到此方法中即可,
3. 当所有请求处理完毕后,IntentService会自动停止,因此开发者无需调用StopSelf()方法来停止服务;
4. 为Service的onBind方法提供了默认实现,默认实现的onBind()方法返回null;
5. 为Service的onStartCommand()方法提供了默认实现,该实现会将请求Intent添加到队列中。
- Android Service 组件基础应用
- Android基础--Service应用
- Android 中的应用组件--Service
- Android应用组件之Service
- Android基础之应用Service
- Android笔记----Service应用和BroadcastReceiver组件
- 四大应用组件之Service【Android】
- Android系列之Service组件的应用
- android 四大组件之一 Service 的应用
- 【Android基础】-Service组件使用详解
- Android基础——四大组件Service
- Android基础之四大组件---Service(一)
- 5.Android基础:四大组件之----->Service
- 应用Web Service组件
- 0204 - 应用组件 - Service
- Android核心基础-11.Android四大组件之Service
- 关于Android Service组件在多线程应用的理解
- [Android学习笔记4]四大应用组件之一:Service 上
- DDOS原理概述及其防御
- 总结下第一个月几个知识点
- 2016-5-2笔记(二叉树)
- bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
- 简易版停车管理系统(Android)
- Android Service 组件基础应用
- 用CSS截断字符串 实现文字自动截断隐藏溢出文本
- 山科交流赛-LIS2
- 64位linux上支持运行32位程序的方法
- C# 编写命令行交互工具——实时输出_获取执行结果
- 【收藏用】切勿转载--Android网络编程(二)HttpClient与HttpURLConnection
- ViewState 应该注意的
- .Net C#(类的静态成员/属性)——学习笔记
- Android 猜歌曲游戏开发