我可以使用RestKit下载和解析大文件吗?

时间:2014-04-03 16:48:44

标签: ios rest restkit grand-central-dispatch nsoperationqueue

我必须从Web服务下载数千或数百万个hotposts,并将它们本地存储在核心数据中。 json响应或文件大约是20或30 MB,因此下载需要时间。我猜映射并将其存储在核心数据中也需要时间。 我可以在restkit中做到吗?或者只是为了合理的尺寸响应而设计的? 我看到我可以在下载大文件时跟踪进度,即使我看到我可以知道映射何时开始或结束:http://restkit.org/api/latest/Protocols/RKMapperOperationDelegate.html 可能我也可以封装核心数据操作以避免阻塞UI。 你怎么看?你觉得这可行吗?或者我应该选择更手动的方法?我想知道你的意见。提前谢谢。

1 个答案:

答案 0 :(得分:1)

你的问题不是封装或线程,而是内存使用。

首先,成千上万的热门帖子'可能会导致您在移动设备上出现问题。您通常应该使用允许您获取过滤的内容集的Web服务。如果您还没有,请考虑创建它(可能通过将数据上传到像Parse.com这样的服务)。

RestKit并未设计为使用流式解析器,因此在处理之前,需要将完整的JSON反序列化到内存中。你可以尝试一下,但我怀疑如果JSON是20/30 MB,移动设备会不高兴。

因此,创建一个不错的Web服务或使用流式解析器并自己处理结果(技术上可以使用RestKit映射操作完成)。