1.what
android底层c++代码的对象回收机制,由谷歌程序员们自己创造封装(也有借鉴已有的c++回收框架)
2.why
java有自己的对象回收机制,但是c++没有,而android大量的底层代码都是通过c c++搭建,到处判断对象是否需要回收得不偿失,莫不如统一处理
3.how
对于所有需要托管处理对象回收的类,都需要继承RefBase类(轻量级处理的可以集成LightRefBase类),这样,该类创建的对象的回收就不需要你操心了。
每一个对象因为继承了RefBase,都有自己管理的一个变量(LightRefBase的)或者对象(RefBase的)来存储自己被引用的次数(包括强引用弱引用),通过当前强引用弱引用的数量还有其他的自定义条件,来判断当前是否需要自我毁灭。