研究Android的时候,经常会遇到sp、wp的东西,网上一搜,原来是android封装了c++中对象回收机制。
说明:
1. 如果一个类想使用智能指针,那么必须满足下面两个条件:
a. 该类是虚基类RefBase的子类或间接子类
b. 该类必须定义虚构造函数。如virtual ~MyClass();
Android 中封装了sp<> 强指针,wp<>弱指针的操作。
1 . 强指针与一般意义的智能指针概念相同,通过引用计数来记录有多少使用者在使用一个对象,
如果所有使用者都放弃了对该对象的引用,则该对象将被自动销毁。
2 . 弱指针也指向一个对象,但是弱指针仅仅记录该对象的地址,不能通过弱指针来访问该对象,
也就是说不能通过弱指针来调用对象的成员函数或访问对象的成员变量。