9.6

  • 不同进程间处于不同的虚拟内存中,无法直接通过内存地址访问对方内部数据,因此在Android中采用了Binder机制
  • Binder组成:
    • Binder驱动:将请求投递到对方进程中
    • Service Manager:获取各进程持有的Binder标志(类似于IP地址)
    • Binder Client:请求数据的进程
    • Binder Server:提供数据的进程
  • Binder使用到智能指针(SmartPointer)源码用C++编写。避免了初始化、delete、野指针的发生。
    • 引用计数:被引用对象拥有一个计数器,当被引用数为0时即可以释放对象。
    • 强引用sp:
    • 弱引用wp:针对两个对象间相互引用的循环引用导致的被死锁而不能被内存回收器回收的现象。规定强指针用于引用子类,弱指针用于引用父类。弱指针必需先升级为强指针才能访问对象

你可能感兴趣的:(9.6)