RefBase:含有内部类weakRef_Impl(影子对象),影子对象中有两个引用计数变量(强引用计数,弱引用计数) sp,构造的时候,强,弱引用计数均+1,析构的时候都-1 wp,构造的时候,弱引用+1,强引用不变,析构的时候弱引用-1,强引用不变 强引用计数=0:实际对象被delete 弱引用 ...
分类:
移动开发 时间:
2019-12-18 14:25:23
阅读次数:
98
Android手机操作系统既然是开源的操作系统。那么在具体的文件夹中就会存放着各种相关功能的开源代码。我们在使用的时候可以根据这些源代码进行相应的修改就能轻松的完成我们所需的功能。在这里大家就一起来看看Android智能 指针的相关源码解读以及应用方法。 在Android的源代码中,经常会看到形如: ...
分类:
移动开发 时间:
2016-07-15 13:19:22
阅读次数:
339
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第5章 深入理解常见类本章主要内容· 分析RefBase、sp,wp和LightRefBase类。· 分析Native的Thread类和常用同步类。· 分析Java层的Handler、Looper,以及HandlerTh...
分类:
移动开发 时间:
2015-08-02 16:52:00
阅读次数:
263
(1)在Android中,RefBase结合了sp和wp,实现了一套通过引用计数的方法来控制对象声明周期的方法。RefBase的定义在/frameworks/base/include/utils/RefBase.h,实现在/frameworks/base/libs/utils/RefBase.cpp...
分类:
移动开发 时间:
2015-07-29 18:43:16
阅读次数:
735
首先RefBase在android的c++部分是作为一个所有类的基类,其作用跟Java中的Object类似这个类中存在一个私有成员:weakref_impl* const mRefs;(weakref_impl是weakref_type的子类)这个mRefs是“影子对象”,是管理一个对象的引用计数的...
分类:
移动开发 时间:
2015-02-12 17:57:45
阅读次数:
177
众多周知,指针在C/C++是一个很重要的手段,但是也是最让人麻烦的东西,容易出现空指针,或者内存泄漏,无非是new了一个对象,没有对应的delete,长时间运行导致系统崩溃!
在android系统中其实也有这个指针这个概念,只不过被用另外的一种安全机制弥补以上的麻烦。...
分类:
移动开发 时间:
2014-06-15 18:37:20
阅读次数:
435