【发布时间】:2010-12-19 15:59:14
【问题描述】:
我的应用程序的一部分必须在用户开始更改元素时保存主屏幕的当前屏幕截图。实际上,我已经设法触发第二个线程来执行此屏幕截图保存。捕获的图像保存到磁盘。
一切正常,但用户触摸屏幕和屏幕响应之间存在 0.1 秒的延迟,因为即使在第二个线程中,文件 I/O 也会滞后于应用程序。
我想知道如果不是将图像保存到文件中,而是将其作为数据保存到 coredata 对象,是否会更快。
你们怎么看?会不会更快?
谢谢
【问题讨论】:
我的应用程序的一部分必须在用户开始更改元素时保存主屏幕的当前屏幕截图。实际上,我已经设法触发第二个线程来执行此屏幕截图保存。捕获的图像保存到磁盘。
一切正常,但用户触摸屏幕和屏幕响应之间存在 0.1 秒的延迟,因为即使在第二个线程中,文件 I/O 也会滞后于应用程序。
我想知道如果不是将图像保存到文件中,而是将其作为数据保存到 coredata 对象,是否会更快。
你们怎么看?会不会更快?
谢谢
【问题讨论】:
我认为核心数据不会比直接写入磁盘更快,因为您甚至可以通过直接写入文件系统来消除开销。 CoreData 唯一的改进是它的缓存机制。写入持久性内存可能会延迟但无法避免。
您是否使用仪器查看了您的应用并分析了瓶颈?也许文件 IO 不是真正的问题。
【讨论】: