티스토리 뷰

아래는 코모스튜디오가 직접 만든 무료 앱이에요

(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

728x90

UI 가 있는 곳에서 스레드 작업을 조금 길게 하면 화면에 버벅거리면서 아예 멈추는 경우도 발생한다. 하지만 스레드 대신 AsyncTask를 사용하면 이런 현상을 말끔히 해결해준다.



호출은 

MainToXXXAsyncTask mainToXXXAsyncTask = new MainToXXXAsyncTask();
if(mainToXXXAsyncTask != null) {
mainToXXXAsyncTask.execute();
}


이렇게 하면 되나, 두 개이상의 태스크를 사용할 경우는 아래 처럼 호출해줘야 한다. 그렇지 않으면 모든 비동기 태스크(AsyncTask)가 동작하지 않는다. 즉, 첫 번째 비동기 태스크의 doInBackground코드가 작동하지 않으면서 뒤로 이어지는 태스크들이 먹통이 된다. 아래 코드는 첫 번째 태스크의 onPostExecute()에서 해주면 된다.


MainToXXXAsyncTask mainToXXXAsyncTask = new MainToXXXAsyncTask();
if(mainToXXXAsyncTask != null) {
mainToXXXAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}


잡아놓고 쓰기 좋아하는 스레드는 최대한 쓰지 않도록 하자.


728x90
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.
댓글
댓글쓰기 폼
공지사항