OKHttp取消网络请求
来源:互联网 发布:ai什么软件 编辑:程序博客网 时间:2024/05/17 04:53
在快速切换界面的时候,容易丢失上下文,如果不取消请求的话有可能会导致请求的结果无法放到界面中,应为界面已经销毁了,容易报空指针,捕获不到,界面就挂了。背景知识,不同版本的cancle可能会略有不同,感觉别人写的特别麻烦,同时采取了,别人的建议当前界面销毁,直接销毁整个界面的请求,下面看下我的做法。
以fragment中使用举例。
1、
OkHttpUtils.post().url(Const.DATAURL).params(requestMap).tag(getActivity()).build().execute(.....)
在特定的位置增加tag(getActivity);同时标记当前界面
2、
@Overridepublic void onDestroy() { OkHttpUtils.getInstance().cancelTag(getActivity()); super.onDestroy();}在当前界面销毁的时候取消网络请求。3、
@Overridepublic void onError(Call call, Exception e, int id) { if(call.isCanceled()){//关闭界面的取消请求执行这里 Log.e("aaaa","用户取消了这次请求"); }else{ //出现其它错误的时候执行 }}
阅读全文
0 0
- OKHttp取消网络请求
- java okhttp 网络请求
- OkHttp网络请求
- OKHttp请求网络数据
- okhttp网络请求框架
- 网络请求框架OKHttp
- OkHttp网络请求
- OkHttp网络请求框架
- OKHttp网络请求
- OkHttp 网络请求
- 网络请求okhttp框架
- OkHttp网络请求
- okHttp网络请求
- oKHttp网络请求
- OkHttp网络请求
- okHttp发起网络请求
- OkHttp网络数据请求
- OkHttp 网络请求
- 开发笔记——前端优化
- 整理springdata mongodb 查询 一
- 习题1
- Android 报错解决办法:I/O error during system call, Connection reset by peer
- 小结
- OKHttp取消网络请求
- Android sendBroadcast的过程分析
- 数据结构实验之栈与队列十:走迷宫
- 如何批量产生文本的哈希值(如MD5、SHA-1)
- 2017_NOIP初赛
- Js获取元素相对适口位置
- Jenkins+maven+svn构建项目,及分区部署war包到tomcat
- 父级元素触发子元素的 click 事件,阻止子元素事件冒泡
- 装Ubuntu双系统的坎坷之路