首页  >  问答  >  正文

android - 点击button后开启分线程网络请求

最近一个项目涉及到好多点击button进行开分线程网络请求,但是问题来了,如果button不做处理,用户不断的去点击button,就会有一堆线程创建,应用卡死,或者在没网络的时候也一直去点击button。有没有好的处理方法,求教!

伊谢尔伦伊谢尔伦2714 天前622

全部回复(8)我来回复

  • ringa_lee

    ringa_lee2017-04-17 17:54:47

    可以设置两次点击的时间间隔,如果小于某段时间,第二次点击就不响应

    回复
    0
  • 迷茫

    迷茫2017-04-17 17:54:47

    1.先判断是否有网络,网络不可用直接return
    2.过滤重复点击
    3.如果希望之前的请求没返回前不再触发新的请求,可以设置一个状态标志

    回复
    0
  • 黄舟

    黄舟2017-04-17 17:54:47

    用户第一次点击button的时候给出友好的提示界面:如diaolg,提示用户等待数据返回。
    不然用户体体验上来说我点击按钮没有反应,我会一直点击。
    希望对你有帮助。

    回复
    0
  • 高洛峰

    高洛峰2017-04-17 17:54:47

    1. 用线程池限制最大线程数量.

    2. 不能同时发起同一个url的网络请求

    3. 缓存

    以上Volley都能做到

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:54:47

    楼上也说了,这种情况必须使用网络框架啊,Volley确实很合适,我推荐一下自己写的Volley源码分析,希望对你有帮助:https://github.com/wangzhengy...

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:54:47

    发起请求后,屏蔽掉Button的Click事件,请求完成后恢复。

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:54:47

    点击按钮后按钮设为不可点击,如果可以的话弹出正在请求的dialog 请求到数据后取消dialog 按钮设为可以点击

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:54:47

    写个判断啊 设置一个标志,TAG = false ;if(!TAG){//执行}
    当开启之后TAG= true;

    回复
    0
  • 取消回复