安卓访问网络超时闪退

使用HttpURLConnection发送请求获取返回数据,网络连接请求超时会发生闪退。

可能的原因有两种

  1. 返回的网络连接为空,后续通过该连接调用获取返回码或者获取返回数据等方法时会发生空指针错误造成程序闪退。
  2. 用户连续请求用户导致等待访问的线程积累很多,如果十秒等不到反应,系统会认定该APP进程是僵尸进程,直接干掉也会导致闪退。

解决方法

写一个联网工具封装联网的操作,在这个操作中捕获超时异常,如果捕获到了提示用户网络超时,不要频繁请求。
当然如果用户硬要频繁请求,也没关系。关闭连接后返回一个空值,在访问网络子线程中判断,如果为空直接返回不再继续执行代码,关闭线程。

访问网络工具类的方法中捕获异常:
在这里插入图片描述
在访问网络子线程中调用了网络工具类中的发送请求的方法,如果返回的conn为空,直接返回,关闭子线程。
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>