728x90
반응형
1. Handler + Looper.getMainLooper()
- 일반적인 쓰레드간 상호작용하는 방법인 Handler 이용
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
// UI 스레드 작업
imageView3.setImageBitmap(bitmap);
}
});
람다식으로 간단하게 표현하면 다음과 같다
new Handler(Looper.getMainLooper()).post(() -> imageView3.setImageBitmap(bitmap));
2. Activity.runOnUiThread
- UI 쓰레드의 메시지큐에 작업을 전달(post)하는 방법
- activity 인스턴스에 액세스할 수 있는 경우에 사용87
runOnUiThread(new Runnable() {
@Override
public void run() {
// UI 스레드 작업
imageView3.setImageBitmap(bitmap);
}
});
람다식으로 간단하게 표현하면 다음과 같다
runOnUiThread(() -> imageView3.setImageBitmap(bitmap));
3. View.post(Runnable) API
- UI 쓰레드의 메시지큐에 작업을 추가
- 해당 view 객체에 접근가능한 경우 사용
4. AsyncTask
- 쓰레드나 Handler에 대한 지식없이 백그라운드 작업 후 UI 쓰레드에서 화면갱신 작업을 처리할 수 있게 코드를 단순화해주는 유틸리티 클래스
- 이제 안쓰는 방식
참고
728x90
반응형
'Computer Science > Thread 처리' 카테고리의 다른 글
동기/비동기, 동시성/병렬성 (0) | 2021.04.30 |
---|---|
Android Thread 처리 방법 (0) | 2021.04.29 |