Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(3)

 提供引用计数器的类RefBase我们就暂时介绍到这里,后面我们再结合智能指针类一起分析,现在先来看看强指针类和弱指针类的定义。强指针类的定义我们在前面介绍轻量级指针的时候已经见到了,就是sp类了,这里就不再把它的代码列出来了。我们来看看它的构造函数的实现: template<typ...

Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(2)

  3. 强指针        强指针所使用的引用计数类为RefBase,它LightRefBase类要复杂多了,所以才称后者为轻量级的引用计数基类吧。我们先来看看RefBase类的实现,它定义在frameworks/base/includ...

开源Android容器化框架Atlas开发者指南

7 课时 |
1532 人已学 |
免费
开发者课程背景图

Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(5)

   即如果目标对象的生命周期只受到强引用计数控制或者在目标对象的具体实现中总是允许这种情况发生。怎么理解呢?如果目标对象的生命周期只受强引用计数控制(它的标志位mFlags为0),而这时目标对象又还未被强指针引用过,它自然就不会被delete掉,因此,这时候可以判断出...

Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(1)

  Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针和弱指针)的实现原...

Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析(4)

 回到外层的if语句中,如果目标对象的生命周期是受弱引用计数控制的,就执行下面语句: impl->mBase->onLastWeakRef(id);    if ((impl->mFlags&OBJECT_LIFETIME_...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

mPaaS 移动开发平台
mPaaS 移动开发平台
mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas
149+人已加入
加入
相关电子书
更多
Android组件化实现
蚂蚁聚宝Android秒级编译—— Freeline
Android开发之多进程架构
立即下载 立即下载 立即下载