MGTwitterEngine - 获取和缓存配置文件图像的有效方法

时间:2010-01-16 13:03:53

标签: iphone caching twitter

使用MGTwitter为用户获取和缓存配置文件图像的最有效方法是什么?

我们目前的问题是必须调用getUserInformationFor来获取图像的网址,然后getImageAtURL导致两次调用服务器。目前,我们只需要图像信息,因此其冗余必须下载所有其他信息。请记住,我们可能会同时执行20-30个这样的调用(例如,获取用户个人资料图片列表),这会变得非常慢。

其次,缓存该图像的最有效方法是什么,以便不必每次都下载(我们不介意假设配置文件图像永远不会改变),目前我们只是使用Twitter用户名作为文件名写入NSTemporaryDirectory(),然后为每个Twitter请求检查该目录中是否存在文件名。是否有更好,更有效的方法?

2 个答案:

答案 0 :(得分:0)

如果您想要在MGTwitterEngine可用功能范围之外做一些事情,您可能不得不使用原始Twitter API。请尝试this页面寻求帮助。

缓存应该可以在NSCachesDirectory中完成。它的生命周期可能比NSTemporaryDirectory长,并且是存储缓存数据的推荐位置。在这种情况下,效率可能意味着下载一次,存储图像,以便您以后可以轻松识别它,确定它是否存在并确定是否需要下载。

答案 1 :(得分:0)

我会使用NSURLConnection(或ASIHTTPRequest)编写我自己的代码,从推文NSDictionary中指定的URL下载配置文件图像。

将下载的图像保存在缓存目录中。 文件名应类似于< username> .png (来自Twitter的所有图片通常都是png)。这样,在缓存中查找图像不需要NSDictionaries来存储所有图像名称。

我还建议添加用户控制的此缓存清算,因为它可能会增长到大尺寸,如果用户更改配置文件图像,则可能会出现不准确。

当缓存的图片为两天且用户使用WiFi时,可以重建缓存。