Ios ARC下GLKit的内存管理实践?

Ios ARC下GLKit的内存管理实践?,ios,memory-management,automatic-ref-counting,opengl-es-2.0,glkit,Ios,Memory Management,Automatic Ref Counting,Opengl Es 2.0,Glkit,我已经编写了一个应用程序,它使用GLKit使用OpenGLES2.0场景。我现在希望确保管理与GLKView和GLKViewController关联的所有内存 我已经在GLKView上找到了deleteDrawable属性,它有助于在场景不在屏幕上时释放内存 我感兴趣的是GLKit中使用内存的其他部分——例如,在使用GLKViewController时在后台设置的缓冲区——这些缓冲区是否需要在ARC下手动释放?如果需要,如何释放?在使用GLKit的ARC下,内存管理还有其他注意事项吗 谢谢你的见

我已经编写了一个应用程序,它使用GLKit使用OpenGLES2.0场景。我现在希望确保管理与GLKView和GLKViewController关联的所有内存

我已经在GLKView上找到了deleteDrawable属性,它有助于在场景不在屏幕上时释放内存

我感兴趣的是GLKit中使用内存的其他部分——例如,在使用GLKViewController时在后台设置的缓冲区——这些缓冲区是否需要在ARC下手动释放?如果需要,如何释放?在使用GLKit的ARC下,内存管理还有其他注意事项吗


谢谢你的见解

GLKit是一个Objective-C框架。无论何时处理Objective-C对象,ARC都将管理它们的内存


因此,要回答您的问题,不,您不需要手动释放内存,只要您只创建Objective-C对象(如
GLKViewController
GLKView
,…)。

考虑到VBO创建的数据存储在所有引用VBO的VAO销毁或删除其引用之前无法释放,我想说,除了目标C参考计数之外,您还需要实施总账参考计数。在VBO连接到VAO时删除它不会自动释放内存,有关更详细的讨论,请参阅。您可能希望启用VAO并实现自己的参考计数层。