码迷,mamicode.com
首页 > 移动开发 > 详细

Android 关键类(RefBase,sp, wp)

时间:2019-12-18 14:25:23      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:eve   计数   内部类   strong   base   强引用   控制   enum   for   

RefBase:含有内部类weakRef_Impl(影子对象),影子对象中有两个引用计数变量(强引用计数,弱引用计数)

sp,构造的时候,强,弱引用计数均+1,析构的时候都-1

wp,构造的时候,弱引用+1,强引用不变,析构的时候弱引用-1,强引用不变

 

强引用计数=0:实际对象被delete

弱引用计数=0:影子对象被delete

 

延长对象生命:

enum {

OBJECT_LIFETIME_WEAK,

OBJECT_LIFETIME_FOREVER

};

OBJECT_LIFETIME_WEAK:强引用=0,弱引用!=0时不会被delete,强弱=0才会被delete

OBJECT_LIFETIME_FOREVER:彻底摆脱强弱引用的控制

轻量级的引用计数:

  LightRefBase

只有强引用计数,

incstrong 时+1

decstrong时-1

强引用计数=0,delete this

  

Android 关键类(RefBase,sp, wp)

标签:eve   计数   内部类   strong   base   强引用   控制   enum   for   

原文地址:https://www.cnblogs.com/jobs1/p/12059402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!