Android正确的方式使用OKHTTP单例进行并行查询与Cookie

我正在开发一个 Android项目,我打算用OKHTTP客户端替换Apache httpClient实现.我想知道如何创建一个可以用于不同活动和服务的网络请求的全局客户端,这些活动和服务将使用客户端的多线程.我应该创建OKHTTPClient的单例对象并在我的代码中重用吗?

此外,我应该在哪里添加cookiestore到请求,在客户端的全局定义中,以便我所有的请求将有cookie可用或在单独的活动或服务中形成请求?

解决方法

使用OkHttp的一般方法一个具有一个Httpresponsecache实例的OkHttp实例.是否需要创建为单例,取决于您的应用程序的要求.例如,OkHttp的单个实例可以在Android的Application.onCreate()的子类中创建,在这种情况下,如果您将Android应用程序的Application类的子类设置为单例,则不需要为单例.

从他们的wiki报价:

“Most applications should call new OkHttp() exactly once,configure it
with their cache,and use that same instance everywhere. “

创建OkHttp实例后,您可以使用它们的setCookieHandler()API方法添加持久性的Cookie存储,这将在所有后续HTTP请求中使用.有关实现与OkHttp协同工作的cookiestore的更多详细信息,请参阅this SO answer.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...