首頁  >  問答  >  主體

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

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

伊谢尔伦伊谢尔伦2764 天前656

全部回覆(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
  • 取消回覆