先看官方解释:

The linkToDeath() method can be used to register a IBinder.DeathRecipient with the IBinder, which will be called when its containing process goes away.

就是说我们通过systemService申请了某个service的Binder后,可以调用这个IBinder的linkToDeath函数进行注册。可以注册一个IBinder.DeathRecipient类型的对象。其中IBinder.DeathRecipient是IBinder类中定义的一个嵌入类。
public abstract void linkToDeath (IBinder.DeathRecipient recipient, int flags)
Since: API Level 1
Register the recipient for a notification if this binder goes away. If this binder object unexpectedly goes away (typically because its hosting process has been killed), then the given IBinder.DeathRecipient’s DeathRecipient.binderDied() method will be called.

You will only receive death notifications for remote binders, as local binders by definition can’t die without you dying as well.

当这个IBinder所对应的Service进程被异常的退出时,比如被kill掉,这时系统会调用这个IBinder之前通过linkToDeath注册的DeathRecipient类对象的binderDied函数。

一般实现中,Bp端会注册linkToDeath,目的是为了监听绑定的Service的异常退出,一般的binderDied函数的实现是用来释放一些相关的资源

Android IBinder的linkToDeath介绍相关推荐

  1. Android IBinder的linkToDeath介绍及情景模拟

    最近查看Framework源码的时候,读到了AudioService处理音量的流程,在这里碰到了IBinder的linkToDeath()这个知识点,比较感兴趣,所以记录下来,并自己写demo尝试了一 ...

  2. Android IBinder机制简单介绍

    原理简介 我们都知道android 是通过IBinder来实现IPC(Inter Process Communication)进程间通信的... 参考:Android进程间通信(IPC)机制Binde ...

  3. android ibinder 机制,Android IBinder机制简单介绍

    原理简介 我们都知道android 是通过IBinder来实现IPC(Inter Process Communication)进程间通信的... 借用一下: 1. Client.Server和Serv ...

  4. Android IBinder

    Android IBinder IBinder Binder是Android提供的一套轻量级高效IPC机制.接口IBinder定义了一套Binder的使用协议.最重要的IBinder API是tran ...

  5. Xamarin Android教程Android基本知识版本介绍与系统介绍

    Xamarin Android教程Android基本知识版本介绍与系统介绍 Xamarin Android教程Android基本知识版本介绍与系统介绍,开发Andriod有时候不像iOS一样轻松,因为 ...

  6. Android MVP模式 简单易懂的介绍方式

    主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200 转载于:https://www ...

  7. Android SQLite 数据库详细介绍

    Android SQLite 数据库详细介绍我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软 ...

  8. Android MVP模式简单易懂的介绍方式 (一)

    Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式 ...

  9. Android Studio Text组件介绍

    Android Studio Text组件介绍 Text组件 1.1Text组件有那些 以上就是常见的text组件 别看这么多,其实大体上仅需分为6种: 稍微介绍一下 如何使用?上代码! <&g ...

最新文章

  1. throttle与debounce的区别
  2. 欠阿里云一分钱,会是什么样的后果...
  3. activeform表单中的旧数据怎么显示_三分钟为你细数 Vue el-form 表单校验的坑点
  4. 图解CS版的皮肤界面编程示例
  5. 实验10 SQL Server 数据备份/恢复
  6. JavaScript计算两个日期相差天数/分钟/小时
  7. JavaScript数组排序详解
  8. eas之Uuid和BOSUuid 区别
  9. python编程-Python 网络编程
  10. jQuery中的$(“this“)和$(this)的区别
  11. 苹果Mac上的 Spotlight 扩展小技巧
  12. GreenDao的学习和使用
  13. android textview全部属性,Android TextView属性大全
  14. 【SQL实战项目】电商平台数据分析项目
  15. 微软拼音变成繁体,如何修改为简体
  16. 制作自己的字体图标库
  17. 数据科学AB测试(说人话系列)
  18. NPDP知识推送-第七章产品生周期管理(4)
  19. Ceph学习——Librados与Osdc实现源码解析
  20. 让 Winform 窗口悬浮的简单方式,不可思议的 TopMost 属性

热门文章

  1. 二叉树前序遍历执行过程
  2. VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别
  3. 简单选择排序 ← vector实现
  4. 多普达S900 使用详细说明(使用技巧大全)
  5. Slf4j之MDC机制
  6. m序列码产生电路设计与仿真
  7. android5.0刷机,一加手机怎么升级安卓5.0 一加手机刷Android 5.0教程
  8. bool 和_Bool的使用
  9. 会声会影如何去除视频黑边
  10. 【观察】揭秘:中信银行信用卡新核心系统自研之路