基本原理

class CTest: public android::RefBase{public:    void print();};android::sp p = new CTest();p->print();

sp类通过重载->运算符实现类似指针的操作
sp对象的构造和析构的时候, 对CTest对象的引用计数进行加减
CTest对象存储自身的引用计数, 通过继承RefBase隐藏对引用计数的操作

C++智能指针的具体实现源码中类图简单总结如下:

具体原理细节可以参考源码实现, 下面附上源码链接, 源文件可以直接拷贝到Android App项目中编译使用.

代码下载

更多相关文章

  1. Picasso源码解析
  2. Android导入导出txt通讯录工具(源码共享)
  3. Android(安卓)Studio 布局中引用自定义属性不提示的问题
  4. LruCache源码解析
  5. android Eclipse导入com.android.internal.R和layoutlib.jar报错
  6. 【android】HandlerThread的使用及源码剖析
  7. android-----AsyncTask源码分析
  8. Android(安卓)P (9.0) 之Init进程源码分析
  9. Android(安卓)腾讯面试Glide源码解析 3分钟手写最牛框架 看完成

随机推荐

  1. android左右滑动翻页查看图片
  2. Android 疑难问题讨论及面试题
  3. Android Button使用,ArrayList使用练习
  4. Android valueAnimator和ObjectAnimator
  5. android 4.4 phone 主叫和被动呼叫的流程
  6. android 通知 手机 媒体 数据库 更新
  7. Android(安卓)ListView拖动时背景颜色会
  8. Android读写文件示例
  9. android 音乐播放器简单实现
  10. android camera 画角度图