android引入只能指针是为了解决c++指针使用不当造成的内存泄漏问题。
智能指针可以理解为两个对象A和B,当A引用B的时候,B也引用A,当需要释放对象A所占用的内存的时候,由于B还在引用着A,所以不能释放对象A。同理想释放B的时候,A还引用着B,所以B也不能释放,这就是一个问题。基于这个引入了强指针和弱指针,假设AB是父子关系,A引用B就是强引用,B引用A是弱引用。对象A的生命周期不受对象B的影响(因为B是弱引用对象A的)。也就是对象A释放的时候,发现对象A强引用对象B,那么释放A的时候,会先去释放对象B,释放对象B的时候,发现B是弱引用对象A,所以可以忽略这个弱引用,直接释放掉B,释放掉B之后,那么就可以释放A了。
android的智能指针
最新推荐文章于 2023-06-12 23:44:38 发布