컴퓨터 지식 네트워크 - 컴퓨터 백과사전 - Android 스레드를 중단하는 방법

Android 스레드를 중단하는 방법

시간이 많이 걸리는 일부 작업을 처리하기 위해 백그라운드에서 Thread 또는 AsyncTask를 사용할 때 스레드 중단을 포함하여 이러한 스레드를 제어할 수 있습니다. 많은 경우, 사용자가 프로그램을 시작하면 콘텐츠를 로드하기 위해 동시에 백그라운드 스레드가 시작됩니다. 그러나 사용자가 프로그램을 떠나면 스레드는 중단되어야 합니다. 이제 사용자는 더 이상 프로그램에 주의를 기울이지 않고 스레드 처리 결과에도 더 이상 주의를 기울이지 않으며 스레드가 시스템 리소스를 차지하기 때문입니다. 시간 내에 중단되지 않으면 시스템 리소스가 낭비됩니다. 또한 Thread.interrupt() 또는 AsyncTask.cancel() 메서드를 사용할 수 있지만 이는 스레드를 즉시 중단하지 않으므로 자신의 스레드에서만 중단하고 종료할 수 있습니다. 많은 경우 백그라운드에서 실행 중인 스레드에는 메인 루프가 있으므로 루프에서 스레드가 중단되었는지 여부를 확인하고 중단된 경우 루프를 종료하여 프로세스를 종료할 수 있습니다. 예를 들어, 스레드가 스레드를 다운로드하는 경우 isInterrupted() 메서드를 사용하여 현재 스레드가 중단되었는지 확인할 수 있습니다. thread=newThread(){publicvoidrun(){while(!isInterrupted()&hasMoreDataToDownload()){downloadAndWriteSomeMore();}if(isInterrupted()){deleteThePartiallyDownloadedFile();}else{callBack();}} }thread .start(); 스레드가 중단된 경우 deleteThePartiallyDownloadedFile() 함수를 호출하여 다운로드되지 않은 파일을 삭제합니다. 스레드가 중단되지 않으면 callBack() 함수가 호출되며 핸들러를 사용하여 다운로드 완료 정보를 보낼 수 있습니다. 예를 들어 시간이 많이 걸리는 SQL 쿼리 작업을 실행하는 경우와 같이 스레드에 이러한 기본 루프가 없는 경우 쿼리 작업 후에 이를 호출하여 스레드를 종료해야 하는지 여부를 결정할 수 있습니다.

上篇: 12월 8일 Tiantian Kupao에 대한 업데이트가 있나요? 下篇: 중국학의 대가 Qian Zhongshu에 대한 소개
관련 내용