我正在开发一个简单的图像处理应用程序,其中包括一个功能,它涉及将UIImage格式的GIF转换为NSData。所以我使用CGImageDestination来处理这个过程。但是,CGImageDestinationFinalize
调用所使用的内存始终会导致100-400MB之间的峰值,即使GIF的大小不超过4MB(通常约为100KB)。
这不会是一个问题,除了这会导致应用程序崩溃和/或产生错误:
Communications error: <OS_xpc_error: <error: 0x19c1b2a80> { count = 1, contents =
"XPCErrorDescription" => <string: 0x19c1b2e78> { length = 22, contents = "Connection interrupted" }
}>
发生了什么? GIF转换应该是如此激烈吗?或者Apple的图书馆发展不良?有没有办法解决这个问题?
我正在使用https://github.com/mattt/AnimatedGIFImageSerialization进行图片转换。