比向后移植ICS HttpResponseCache更好的选择

时间:2011-12-19 23:19:55

标签: android http caching

我需要缓存http响应,并基于此blog post功能内置于ICS中。但是,我需要支持1.6及更高版本,所以想看看有没有准备好使用库,然后再看看需要向后移植ICS功能。

更新

以下是HttpResponseCache的链接,该链接仅支持java.net.HttpURLConnection

第二次更新:

经过一番研究,看起来Apache的HttpClient确实支持caching,但需要注意的是默认(内存中)后端可能不适合内存受限的Android应用。 Ehcache可能是一个不错的选择,具体取决于它对Android的支持。

2 个答案:

答案 0 :(得分:11)

我创建了此问题,请求将兼容库中添加重命名的向后兼容版本的android.net.http.HttpResponseCache:https://code.google.com/p/android/issues/detail?id=23875

谷歌拒绝了这个问题,但提出帮助我制作backport和图书馆。所以我想这样做。

此外,HttpClient-Cache可能是一个很好用的东西。它不能在Android上运行,您需要进行一些小修改并重新编译它。见http://comments.gmane.org/gmane.comp.apache.httpclient.user/501

但是,我建议你试试https://code.google.com/p/httpclientandroidlib/ - 这是一个重新包装(重命名)版本的HttpClient和HttpClient-Cache for Android。设置起来非常简单(只需包含一个jar然后使用ch.boye.httpclientandroidlib。*而不是org.apache.http。*)。

答案 1 :(得分:7)

我开始使用candrews向后移植的库,我很高兴地报告它可以作为使用HttpUrlConnection的前ICS Android应用程序的直接替代品。它位于https://github.com/candrews/HttpResponseCache

另一个好处是它的API与ICS版本相同,因此您可以在ICS上启用内置的API并使用candrew'移植版本的ICS之前只有非常少的代码。