我不知道如何处理这个问题,你能给我一些建议吗?任何回复都会表示赞赏。
答案 0 :(得分:1)
最重要的是,如果可以的话,我会远离UIGetScreenImage(),至少如果您计划将应用程序发布到App Store。 UIGetScreenImage()不是公共API,它是Apple拒绝您的应用程序使用的最可能的“禁用”API之一。
如果您想要一个屏幕截图(即用户在设备屏幕上看到的内容),我认为您所采用的方法效果很好,但您需要获得UIView的图形表示。包含您的所有其他视图。
但是,所有UIView代码必须位于主线程上。您可以在后台线程上执行文件I / O,但实际获取的图像必须是主线程。
答案 1 :(得分:0)
NSOperationQueue怎么样?
每当捕获屏幕并创建图像时,NSOperation会将图像写入文档中,并添加NSOperationQueue。
我认为你应该找到最大并发操作数的最佳数量(NSOperation的setMaxConcurrentOperationCount)。
最大并发操作次数取决于您的应用。