Android安全笔记-Service基本概念

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android安全笔记-Service基本概念相关的知识,希望对你有一定的参考价值。

个是android中的一个重要组建:

    1. Scheduled服务:调度任务服务。

            ·JobScheduler

    2.Started服务:其生命周期和启动它的组建无关。

            ·startService

            ·onStartCommand

    3.Bound服务:一个组件bind服务,这个服务提供client-server形式的接口该组件调用和交互主要用于IPC,其生命周期和绑定的组建有关系,如果没有组建绑定则销毁。

            ·bindService

            ·onBind

IntentService

Service通常是运行在应用主线空间的,除非特定指明运行在单独的线程;

IntentService继承与Service,使用一个工作线程来处理所有的服务启动请求。

    ·onHandleIntent

onHandleIntent里面有个callBack可以对各个消息进行分别执行。

Bound Service

Bound Service是c-s接口的服务器,允许组件绑定改服务,并发送请求,接手响应以及其他IPC行为。

允许多个组件绑定,当无绑定组件时,服务销毁,除非服务还由startService启动。

bindService进行绑定,并立即结束返回。

服务真正连接时会通过ServiceConnection的onServiceConnected回调函数来通知客户端。

IBinder

创建IBinder

    ·继承Binder类:client和server处于同一进程;

    ·使用Messenger:跨进程IPC,并且通过实现请求队列实现线程安全;

    ·使用AIDL:Android接口定义语言,非线程安全文件为.aidl;

AIDL

Android接口定义语言,定义IPC的接口:

    ·跨进程通信;

    ·需要自己处理多线程的问题;

AIDL接口的定义

    ·定义一个AIDL接口;

    ·实现接口方法;

    ·暴露接口实例到client

Service生命周期

 

callback method触发条件说明
onStartCommandstartService启动
onBindbindService返回IBinder接口
onCreate创建
onDestroystopSelf stopService停止和销毁

Foreground Service

这个这样的

写代码时,调用startForeground

 

 

以上是关于Android安全笔记-Service基本概念的主要内容,如果未能解决你的问题,请参考以下文章

Android安全笔记-Activity基本概念

Android安全笔记-Broadcast基本概念

Android安全笔记-进程间通信基本概念(intentbundleParcelableparcel)

Android安全笔记-Tasks与Recents Screen与Fragment基本概念

android学习第一篇 基本概念

Android笔记 - Binder之基本概念