2014-04-03 48 views
0

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

回答

1

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

首先,数千或数百万的“热帖”可能会导致您在移动设备上发生问题。您通常应该使用Web服务,以便获取过滤的一组内容。如果您还没有,请考虑创建它(可能通过将数据上传到像Parse.com这样的服务)。

RestKit不是设计用来使用流解析器,所以完整的JSON需要在处理之前被解串到内存中。你可以尝试一下,但是如果JSON是20/30MB,我怀疑移动设备会不高兴。

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

+0

感谢您的回复。这正是我的想法,但我的客户(谁创建了Web服务器)就是他想要的。所以,基本上,我想知道我是否可以做到这一点。例如,我如何组合请求操作?我的意思是,创建一个操作,根据第一个请求响应发送2或3个请求。嗯...我想我会在stackoverflow中打开一个新问题。顺便说一句,请求和映射2个不同的操作系统?感谢您的建议。 – Ricardo

+1

映射操作将被添加到队列中,以便您可以设置并发运行的次数(并且如果操作运行速度不够快,则会阻止解析)... – Wain

相关问题