AndroidC++回收机制.docVIP

  • 6
  • 0
  • 约 7页
  • 2016-11-30 发布于安徽
  • 举报
AndroidC++回收机制.doc

Android C++回收机制 1关于C++ Layer的内存回收机制 Android C++层的内存收回主要是通过三个类来实现,分别是RefBase,sp,wp; SP和WP是两个智能指针模板类,sp是strong pointer,wp则是weak pointer,亦我们常说的强引用和弱引用;实例化sp和wp这两个模板类的类型必须是派生自RefBase的类 1.1 RefBase类 因为这个类拥有对内存回收机制的默认实现,所以android上想要支持内存回收机制的类必须派生自RefBase 下面简单介绍下成员变量和成员函数: mRefs: weakref_impl对象,派生于RefBase::weakref_type, 包含了对strong ref和weak ref的具体实现,也就是说RefBase中只包含了一些对外的标准操作,具体的实现在weakref_impl内 void incStrong(const void *id): 强引用计数加1,参数id主要用在debug时跟踪调试,一般都为sp或者wp的对象指针 void decStrong(const void *id): 强引用计数减1,参数id含义同上 void forceIncStrong(const void *id): 强制引用计数加1 Int32_t getStrongCount(): 获去强引用计数值 weakr

文档评论(0)

1亿VIP精品文档

相关文档