问题描述
最近一个项目涉及到好多点击button进行开分线程网络请求,但是问题来了,如果button不做处理,用户不断的去点击button,就会有一堆线程创建,应用卡死,或者在没网络的时候也一直去点击button。有没有好的处理方法,求教!
问题解答
回答1:可以设置两次点击的时间间隔,如果小于某段时间,第二次点击就不响应
回答2:1.先判断是否有网络,网络不可用直接return2.过滤重复点击3.如果希望之前的请求没返回前不再触发新的请求,可以设置一个状态标志
回答3:用户第一次点击button的时候给出友好的提示界面:如diaolg,提示用户等待数据返回。不然用户体体验上来说我点击按钮没有反应,我会一直点击。希望对你有帮助。
回答4:用线程池限制最大线程数量.
不能同时发起同一个url的网络请求
缓存
以上Volley都能做到
回答5:楼上也说了,这种情况必须使用网络框架啊,Volley确实很合适,我推荐一下自己写的Volley源码分析,希望对你有帮助:https://github.com/wangzhengy...
回答6:发起请求后,屏蔽掉Button的Click事件,请求完成后恢复。
回答7:点击按钮后按钮设为不可点击,如果可以的话弹出正在请求的dialog 请求到数据后取消dialog 按钮设为可以点击
回答8:写个判断啊 设置一个标志,TAG = false ;if(!TAG){//执行} 当开启之后TAG= true;