释放 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象)

2023-11-27

对于 iOS 开发新手,尤其是 iOS 5 上的新 OpenGL 相关功能,如果我的问题非常基本,我深表歉意。

我正在开发的应用程序旨在接收相机帧并通过 OpenGL ES 将它们显示在屏幕上(图形人员将接管此操作并添加我知之甚少的实际 OpenGL 绘图)。该应用程序是用 XCode4 开发的,目标是运行 iOS 5 的 iPhone4。目前,我使用了 ARC 和 GLKit 功能,除了将图像加载为纹理时出现内存泄漏之外,一切都工作正常。该应用程序很快就会收到“内存警告”。

具体来说,我想问一下如何释放分配的纹理

@property(retain) GLKTextureInfo *texture;

-(void)setTextureCGImage:(CGImageRef)image 
{
    NSError *error;

    self.texture = [GLKTextureLoader textureWithCGImage:image options:nil error:&error];

    if (error) 
    {
        NSLog(@"Error loading texture from image: %@",error);
    }
}

The image是由相机框架构建的石英图像(来自苹果的示例代码)。我知道问题不在代码的那部分,因为如果我禁用分配,应用程序不会收到警告。


我相信超级黑客解决方案,但它似乎有效:

在分配之前添加以下内容:

GLuint name = self.texture.name;
glDeleteTextures(1, &name);

如果有更官方的方式(或者如果这是官方方式),如果有人能让我知道,我将不胜感激。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

释放 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象) 的相关文章

随机推荐

  • EntityDeploySplit 错误 - Microsoft.Data.Entity.Build.Tasks.dll 丢失

    彻底重新格式化 Windows 并安装 Visual Studio 2013 后 尝试使用数据库优先的实体框架 edmx 文件构建项目会产生以下错误 无法从程序集中加载 EntityDeploySplit 任务 C 程序文件 x86 MSB
  • Haskell 有限场线性代数库

    我正在寻找 Haskell 的有限场线性代数库 就像是FFLAS FFPACK对于 Haskell 来说会很棒 当然 我检查过hmatrix 似乎有一些支持任意矩阵元素类型但我找不到任何与 hmatrix 一起使用的有限域库 当然 我会很感
  • 保存 foreach dopar 循环的多个输出

    我想知道是否 如何可以返回多个输出作为foreach dopar loop 让我们举一个非常简单的例子 假设我想做 2 项操作作为foreach循环 并希望返回或保存每个值的两个操作的结果i 如果只返回一个输出 则很简单 library f
  • 是否有可能在不循环的情况下对ArrayList求和

    是否有可能求和ArrayList不循环 PHP提供sum array 这将给出数组的总和 PHP 代码就像 a array 2 4 6 8 echo sum a array sum a n 我想在 Java 中做同样的事情 List tt
  • 将字典转换为 Numpy 数组

    我正在尝试转换字典 0 0 173 1 342 2 666 3 506 4 94 1 0 13 1 2171 2 1915 3 3075 4 630 2 0 0 1 265 2 5036 3 508 4 11 3 0 0 1 3229 2
  • BTLE(低功耗蓝牙)开发套件 - 必须具有邻近配置文件

    谁能给我指出一个经过测试的低功耗蓝牙开发套件 板 我对接近度配置文件以及与智能手机 尤其是 iPhone 和 Android 设备 以及任何其他具有 BTLE 的设备 的兼容性特别感兴趣 另外 您能告诉我哪些智能手机支持邻近配置文件吗 如果
  • Magento 中保存“特价”的表格在哪里?

    我尝试使用 mySQL 和 php 脚本批量更新 Special price 和 price 我知道包含 price 的表和行 但不知道包含 special price 的表和行 我查看了数据库本身 但仍然没有运气 有任何想法吗 我需要表名
  • android.permission.WRITE_SETTINGS 是否仅授予系统应用程序?

    我们目前正在开发一个应用程序 我们希望在其中更改一些系统设置 当然需要用户许可 android 文档说要执行此操作 您必须添加以下权限
  • 如何使用 C# 对齐 ListView 中单个子项的文本?

    我无法在任何地方找到这个看似简单的主题的答案 是否可以在 WinForms ListView 控件中对齐单个子项的文本 如果是这样 怎么办 我希望同一列中的文本以不同方式对齐 例子 listView1 Columns 1 TextAlign
  • Android Chrome window.onunload

    我正在开发一个 HTML5 应用程序专门针对 Android 和 Chrome 我遇到的问题源于跟踪打开的浏览器选项卡的要求 我通过创建存储在每个选项卡的 sessionStorage 中的唯一 ID 来实现此目的 然后 我通过在每个选项卡
  • 更改了vhost并在CouchDB中重写,无法访问内部API

    我想将我的自定义域映射到设计文档 rewrite Configuration vhosts www myapp com myapp design user rewrite Rewrites from to static browser in
  • HashSet contains() 方法

    我执行下面的代码 发现输出是false import java util Set import java util HashSet public class Name private String first last public Nam
  • 正在运行的 Docker 容器何时会耗尽磁盘空间?

    我已经阅读了很多文档 但我仍然不确定这到底是如何工作的 这有点像 Docker 与 VM 的问题 如果我启动一个带有 2GB 硬盘的虚拟机并用文件填充其磁盘 我知道它会在 2GB 文件后耗尽 Docker 的工作方式相同吗 我想是这样 但从
  • 浮点数转二进制

    我正在尝试将浮点数转换为二进制表示形式 我怎样才能做到这一点 然而 我的目标是不限于 2m 因此我希望能够轻松扩展到任何基础 3 4 8 ecc 到目前为止 我对整数有一个简单的实现 import string LETTER 0123456
  • Django - 如何设置空白= False,必需= False

    我有一个这样的模型 class Message models Model msg models CharField max length 150 我有一个用于插入字段的表格 实际上 django 允许空白 例如 如果我在字段中插入一个空格
  • 如何查询 Npgsql.EntityFrameworkCore 中具有 JSON 数组的列

    Notes 使用 Npsql EntityFrameworkCore PostgreSQL v3 1 4 使用 Npgsql v4 1 3 1 使用代码优先方法 I have the following table called Cars
  • 如何避免键盘打开时jetpack撰写内容上升

    如上所示 当用户打开键盘时 项目列表 文本输入字段和添加按钮都会上升 我希望项目列表保持在原位 而文本输入字段和添加按钮则按原样上升 code 活动 class MainActivity ComponentActivity override
  • 与 SQL Server 建立连接时发生网络相关或特定于实例的错误

    我在 azurewebsites 上有一个简单的 mvc 网站 使用 VS internet 模板 与同一数据中心的 SQL Azure 数据库进行通信 此时的数据库只是做内置的SimpleMembership Provider 我已经从默
  • FFmpeg:在 Android Q 上无法使用文件描述符进行查找

    鉴于公共文件路径通常在具有范围存储的 Android Q 中不可用 我试图弄清楚如何使我的 FFmpeg 音频解码器使用文件描述符 而不将文件复制到我的应用程序的私有目录 我们可以使用中描述的方法轻松获取文件描述符Android Q 隐私更
  • 释放 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象)

    对于 iOS 开发新手 尤其是 iOS 5 上的新 OpenGL 相关功能 如果我的问题非常基本 我深表歉意 我正在开发的应用程序旨在接收相机帧并通过 OpenGL ES 将它们显示在屏幕上 图形人员将接管此操作并添加我知之甚少的实际 Op