마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

쓰레드 이해가 부족합니다.

0 추천
초보자라 잘 알지 못해 oncreate 안에 소스코드를 전부 작성하였습니다. ^^;; (클래스.함수호출포함.)

속도가 느려진 원인을 찾다가 이제서야 스레드를 알게 되었는데요.

연산 작업이 많은 코드는 스레드를 추가해서 분리하고자 하는데 막상 분리하려고 보니깐

어떻게 나눠야 할지 감이 안오네요.

현재 코드에서는 이벤트 리스너 안에서 작업량이 많은데 리스너마다 개별적으로 스레드 작업을 추가해야 할까요?

보통 어떤식으로 작업을 하시는지 궁금합니다.
익명사용자 님이 2018년 1월 8일 질문

1개의 답변

0 추천
 
채택된 답변

쓰레드는 시간이 오래걸리는 작업등을 백그라운드에서 처리하고 있게 하고 그 다음 작업을 진행하게 합니다.

저같은 경우는 이 쓰레드를 사용하는 경우가

1. 서버와의 API 통신

2. 파일,이미지등의 다운로드

대충 이 2가지가 제일 많이 하는것 같습니다.

 

주의하실점은 thread안에선는 UI를 업데이트 할 수 없습니다.

쓰레드를 사용하는 방법은

1. AsyncTask

2. Thread / Handler 조합

등이 있습니다.

왠만하면 AsyncTask를 쓰시는것이 쓰레드를 취소하기도 쉽고 관리가 편해서 추천합니다.

 

https://developer.android.com/reference/android/os/AsyncTask.html

여기사이트에서 예제를 보고 이해를 하시는게 좋을것 같습니다.

 

doInBackground - API 통신, 데이터 파싱등 백그라운드 작업을 명시
onProgressUpdte - 프로그레스바를 그려줄 필요가 있다면 사용 없다면 사용하지 않아도 무관
onPostExecute - 여기서 파싱한 데이터를 기반으로 UI 업데이트 작업을 하시면 됩니다.
 
대충 간단하게 설명드렸고 자세한건 예제등이 많이 나와있으니 한번 찾아보세요~
캬옹이 (37,920 포인트) 님이 2018년 1월 8일 답변
...