ios - 为什么使用 CGImageRef 而不是 CGImage 来代替?

标签 ios objective-c iphone cgimageref

我是媒体层和照片层的新手,让我感到困惑的是有很多像 CGImageRefCMSampleBufferRef 这样的对象,并且我不知道为什么苹果让我们使用“XXXRef”这样的对象而不是“XXX”这样的对象?我知道肯定有一些原因,但我不知道,有人能告诉我为什么吗?


更新: 我的意思是,为什么苹果希望我们使用 CGImageRef 而不是我们自己创建 Ref,比如 CGImage *theCGImage

最佳答案

实际上,你应该向 Core Foundation 作者询问这件事 =)

CGImage 是一个 C 结构体。这意味着,每次作为参数或返回值传递时都会复制它。或者,甚至被分配给某个变量。 我想像 CGImage 这样的东西是非常大的东西。因此,简单地传递一个指向它的指针是更好的主意。

我认为,这个决定背后的真正原因要复杂得多,并且与引用计数器、CF 和 Foundation 对象之间的桥接等有关

关于ios - 为什么使用 CGImageRef 而不是 CGImage 来代替?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30909126/

相关文章:

ios - UIImage init with scale in swift 错误地说 "Extra Argument"

android - 使用 GWT 开发 Chromecast 接收器

iphone - CIPixellate输出图像大小不同

ios - 在 iOS 中创建自定义框架

ios - 如何制作像 Bumble 那样的导航栏

Textview 中的 iOS 自动更正

objective-c - 使用 CGFloat 而不是 float ?他们不这样做

objective-c - UIToolBar按钮图像

ios - 如何在 Sprite Kit、Objective C 中用手指移动来击打物体

iphone - 将现有 XCode 项目添加到新项目