当前位置: 首页 > 工具软件 > WiEngine > 使用案例 >

wiengine 引用计数问题

吕宣
2023-12-01

刚开始学习,只知道wiengine用的是reference count管理对象。今天就遇到这么一个问题。


有一个类,会重复用到几个action,我就在头文件中声明了几个类全局指针,构造初始化了这几个指针。但是在后面的函数使用的时候,会crash,开始怀疑是空指针,发现指针不为空,debug发现在构造初始化的时候,action值正常,在函数调用处action值很诡异。于是怀疑是对象被回收,指针指向地址不变。试验时候果真如此。在初始化后加上retain,问题解决。


主要是一直以为有全局指针指向obj,对象的引用计数就不为空,在java中有虚拟机管理的确如此,xcode有arc在编译处理貌似也没问题(未验证),但是在这个c++的环境中就不是这样的了。


对于autorelease的对象(包括make出来的对象),不要以为有指针只着对象,对象就不会被回收。

 类似资料: