중간에 AsyncTask를 실행하는 동안 활동을 종료하면 그 활동을 다시 시작하려고 할 때 새로운 AsynTask가 시작되기 전에 이전 AsyncTask가 완료 될 때까지 기다려야합니다. 나는 thread.sleep와 systemclock.sleep을 모두 시도해 보았고 같은 결과를 얻었다. 내가 닫고 열어 놓은 쓰레드가 같다고 생각하기 때문에 어떤 의미가 있습니다. 사용자가 액티비티를 종료하면 AsyncTask를 취소하는 방법이 있습니까? 사용자가 두 번째로 동일한 활동을 입력하기 때문에 이전 완료 때까지 기다릴 필요가 없습니다. onPause()에서 asyntask.cancel (true)를 시도했지만 작동하지 않습니다. 동일한 문제가 발생했습니다.thread.sleep와 systemclock.sleep의 차이점은 무엇입니까? AsyncTask에서 어느 것을 사용해야합니까?
4
A
답변
7
내가 알기 론 Thread.sleep()과 SystemClock.sleep()의 유일한 차이점은 Thread.sleep()이 인터럽트 될 수 있다는 것입니다.
SystemClock.sleep(10*1000);
10 초 동안 호출 스레드을 자고 그 방금 기다릴 필요가 있음이다 : 그것은 같은입니다. 반면 :
Thread.sleep(10*1000);
또한 호출 스레드를 10 초 동안 대기시킵니다.
sleepingThread.interrupt();
효과적으로 십초 잠에서 sleepingThread을 깨어 : 다른 스레드에서 잠자는 스레드에 대한 참조가있는 경우, 당신은 지금과 같은 옵션이 있습니다.
AsyncTask를 사용하는 것이 더 나은 질문의 맥락에서 나는 이것이 여전히 전적으로 귀하의 요구 사항에 달려 있다고 생각합니다. 물론 정확한 코드는 모르지만 doInBackground가 잠자고있는 중일 때 임의의 시간에 작업을 취소 할 수 있기를 원하면 Thread.sleep()이 더 적합 할 수 있습니다.
관련 문제
- 1. C++ get과 typecasting의 사용상의 차이점은 무엇입니까? 어느 것을 사용해야합니까?
- 2. XML과 MySQL 데이터베이스를 사용하는 차이점은 무엇입니까? 어느 것을 사용해야합니까?
- 3. CoreAnimation & Cocos2D - 어느 것을 사용해야합니까?
- 4. SpinWait vs Sleep waiting. 어느 것을 사용해야합니까?
- 5. FILTER_VALIDATE 대 Preg_match입니다. 어느 것을 사용해야합니까?
- 6. enum 또는 define 중 어느 것을 사용해야합니까?
- 7. 단색 테두리 또는 점선 테두리? 어느 것을 사용해야합니까?
- 8. Authorize.net, Paypal 또는 Google Checkout 중 어느 것을 사용해야합니까?
- 9. en_US 또는 en-US 중 어느 것을 사용해야합니까?
- 10. 어느 InitialContextFactory를 사용해야합니까?
- 11. htmlentities 또는 htmlspecialchars 또는 stripslashes? 어느 것을 사용해야합니까?
- 12. 어느 것을 사용해야합니까? REST, ASMX, WSE 또는 WCF?
- 13. 다음 중 어느 것을 사용해야합니까? mysql_fetch_array 또는 mysql_fetch_assoc?
- 14. JavaScript : Microsoft.XMLHTTP 또는 Msxml2.XMLHTTP 중 어느 것을 사용해야합니까?
- 15. 자바의 스캐너 대 String.split() vs StringTokenizer; 어느 것을 사용해야합니까?
- 16. 삭제 작업에는 어느 것을 사용해야합니까 : user.delete 또는 user.destroy?
- 17. 다음 중 어느 것을 사용해야합니까? json-jquery 또는 json2.js?
- 18. Objective-C의 "개인 메서드"또는 정적 함수. 어느 것을 사용해야합니까?
- 19. 다음 중 어느 것을 사용해야합니까? GAE 또는 AWS?
- 20. 장기 실행 AsyncTask에서 getApplicationContext 또는 Activity.this를 사용해야합니까?
- 21. NSTimer 대 별도의 스레드 - 어느 것을 선택해야합니까?
- 22. ? 어느 것을 사용할 것인가?
- 23. aspx와 jspx의 차이점은 무엇입니까? 어느 쪽?
- 24. 이 캐스트의 차이점은 무엇입니까? 어느 쪽이 선호됩니까?
- 25. "Write-Host", "Write-Output"또는 "[console] :: WriteLine"중 어느 것을 사용해야합니까?
- 26. git.cmd vs git.exe - 차이점은 무엇이며 어떤 것을 사용해야합니까?
- 27. Android 어댑터 - 어느 것을 사용합니까?
- 28. 동적 언어 - 어느 것을 선택해야합니까?
- 29. 웹 서비스를 어느 계층에서 사용해야합니까?
- 30. 어느 줄 끝 문자를 사용해야합니까?
여기를보세요 : http://stackoverflow.com/questions/4748964/android-cancel-asynctask-forcefully – newbyca
감사합니다! 하지만 내 질문의 첫 부분은 어때? thread.sleep 또는 systemclokc.sleep? –
나는 당신의 질문 중 특정 부분에 대한 실제 답변을 제출했습니다. 아래를보십시오. – newbyca