android serviceconnection unbind流程,Android unbindService 流程分析
基于Android 6.0的源码剖析, 分析bind service的启动流程。
/frameworks/base/core/java/android/app/ContextImpl.java
/frameworks/base/core/java/android/app/LoadedApk.java
/frameworks/base/core/java/android/app/IServiceConnection.aidl(自动生成Binder两端)
一. unbind
文章bindService启动过程分析,介绍了 bindService 的过程,本文介绍其对应的另一个操作 unbind。
unbind调用链:
AMP.unbindService
AMS.unbindService
AS.unbindServiceLocked
AS.removeConnectionLocked
ATP.scheduleUnbindService
AT.scheduleUnbindService
AT.handleUnbindService
Service.onUnbind
AS.bringDownServiceIfNeededLocked
AS.bringDownServiceLocked
ATP.scheduleUnbindService
AT.scheduleUnbindService
ATP.scheduleStopService
AT.scheduleStopService
1.1 AMP.unbindService
... //省略,未完待续
二. onServiceDisconnected
当service所在进程死亡后,binderDied死亡回调后触发的。
2.1 binderDied
[-> LoadedApk.ServiceDispatcher.DeathMonitor]
private final class DeathMonitor implements IBinder.DeathRecipient
{
DeathMonitor(ComponentName name, IBinder service) {
mName = name;
mService = service;
}
public void binderDied() {
death(mName, mService); //【见流程2.2】
}
final ComponentName mName;
final IBinder mService;
}
2.2 death
[-> LoadedApk.ServiceDispatcher]
android serviceconnection unbind流程,Android unbindService 流程分析相关推荐
- android serviceconnection unbind流程,Android - Service Bind/Unbind 使用
Service Bind/Unbind 使用方式 本文介绍了本地服务,也就是同一个进程内的服务,如何使用 Bind/Unbind 方式被 Activity 使用. 本文不涉及 AIDL 使用 Serv ...
- android serviceconnection unbind流程,Android Service 再次 unbindSrvice 时的问题
在 Android Service 未被绑定的情况下,调用 unbindService(connection) 会报错误:service Service not registered, 所以在解除绑定 ...
- android studio四大组件,Android 四大组件 Service 完全理解
瞎忙到头晕... Service主要使用在后台比较耗时和运行时间较长的逻辑.但是在service中使用 Thread.currentThread().getId() 获取得到的却是1,也就是主线程.如 ...
- Android内存泄漏的检测流程、捕捉以及分析
https://blog.csdn.net/qq_20280683/article/details/77964208 Android内存泄漏的检测流程.捕捉以及分析 简述: 一个APP的性能,重度关乎 ...
- Android 7.0 挂断电话流程分析
1.图形显示 挂断电话分为本地挂断和远程对方挂断 2.本地挂断 1).点击按钮 先看按键的监听事件 CallCardFragment.java 中有对按钮的监听事件 @Overridepublic v ...
- (六十五)Android O StartService的 anr timeout 流程分析
前言:之前在(六十四)Android O Service启动流程梳理--startService 梳理了startService的一般流程,anr的没有涉及,本篇就以anr的为关注点梳理下流程. 参考 ...
- 【SemiDrive源码分析】【X9芯片启动流程】30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一)
[SemiDrive源码分析][X9芯片启动流程]30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一) 一.Android Kernel 启动流程分析 ...
- Android 4.4 Kitkat Phone工作流程浅析(三)__MO(去电)流程分析
本文来自http://blog.csdn.net/yihongyuelan 转载请务必注明出处 本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉. ...
- Android 源码 Camera2 预览流程分析四
<Android 源码 Camera2 预览流程分析二>中进行了流启动,这是调用 QCamera3Channel start() 方法实现的,对应于 HAL_PIXEL_FORMAT_YC ...
最新文章
- 用计算机绘制函数图象教案,信息技术应用 用计算机画函数图象教学设计(教案)...
- 思科表示视频资源将在2022年占据所有互联网流量的82%
- NOIP Mayan游戏
- 机器学习预测+akshare
- cad查看_CAD与天正软件对齐命令实例讲解
- python 财务分析-linux 复制移动命令详解
- Python int() 函数
- c++类与对象之默认成员函数
- 非平稳序列的随机分析
- 中国计算机学会推荐国内期刊目录
- Sharpen 的调试步骤
- PG与mysql的区别
- 开发者工具绕过前端debuger
- 《五子棋大师》技术支持
- 小觅相机录制rosbag数据集
- SolarWinds
- 抽象类不能声明主体_软件的主导地位能否继续
- 微信公众号授权(获取用户信息)
- 前端构造桌面级应用(QQ音乐)
- 体力劳动?脑力劳动?
热门文章
- 里面怎么模拟裂纹_警惕!你买的翡翠有裂纹吗?它能让翡翠的价值暴跌
- 为什么redis取出来是null_[2020] Redis 最新面试题
- 谭民机器人_机器人视觉伺服研究进展-中科院自动化所-谭民.
- 遍历children_589. N叉树的前序遍历
- Python二级笔记(2)
- 64位ubuntu arm-linux-gcc,在ubuntu 64位的机器上执行arm-linux-gcc提示 no such file or directory【转】...
- 地铁售票系统设计思想及部分代码
- Linux Note
- 教你如何进入有密码的 XP 系统(下)
- LightGBM中GBDT的实现