찾다

 >  Q&A  >  본문

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

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

伊谢尔伦伊谢尔伦2767일 전663

모든 응답(8)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-17 17:54:47

    두 번의 클릭 사이의 시간 간격을 설정할 수 있습니다. 특정 시간보다 작으면 두 번째 클릭은 응답하지 않습니다

    회신하다
    0
  • 迷茫

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

    1. 먼저 네트워크가 있는지 확인합니다. 네트워크를 사용할 수 없으면 직접 반환합니다.
    2. 반복 클릭을 필터링합니다.
    3. 이전 요청이 반환되기 전에는 새로운 요청이 발생하지 않기를 바라는 경우 , 상태 플래그를 설정할 수 있습니다

    회신하다
    0
  • 黄舟

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

    사용자가 처음으로 버튼을 클릭하면 사용자에게 데이터가 반환될 때까지 기다리라는 메시지를 표시하는 diaolg와 같은 친숙한 프롬프트 인터페이스가 제공됩니다.
    그렇지 않으면 사용자 경험상 버튼을 클릭해도 반응이 없습니다.
    도움이 되었기를 바랍니다.

    회신하다
    0
  • 高洛峰

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

    1. 스레드 풀을 사용하여 최대 스레드 수를 제한하세요.

    2. 동일한 URL에 대한 네트워크 요청을 동시에 시작할 수 없습니다

    3. 캐시

    발리는 위의 모든 기능을 수행할 수 있습니다

    회신하다
    0
  • 大家讲道理

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

    위에서 언급했듯이 이러한 상황에서는 네트워크 프레임워크를 사용해야 합니다. Volley는 실제로 매우 적합합니다. 제가 작성한 Volley 소스 코드 분석이 도움이 되기를 바랍니다. https://github.com/ 왕젱이.. .

    회신하다
    0
  • 巴扎黑

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

    요청을 시작한 후 버튼의 클릭 이벤트가 차단되고 요청이 완료된 후 복원됩니다.

    회신하다
    0
  • 大家讲道理

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

    버튼을 클릭하면 버튼이 클릭 불가로 설정됩니다. 가능한 경우 요청 중인 대화 상자가 팝업되며 데이터가 요청된 후 버튼이 클릭 가능으로 설정됩니다.

    회신하다
    0
  • 巴扎黑

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

    판단을 작성하고 플래그를 설정합니다. TAG = false; if (!TAG) {//실행}
    켜면 TAG = true;

    회신하다
    0
  • 취소회신하다