ㅠㅠ
안드로이드 AsyncTask 왜 써야 하나요
녕(121.144)
2014-11-06 18:02
추천 0
댓글 8
다른 게시글
-
니들지금사맹ㅇ당ㅇ..(121.143) | 14.11.06추천 0
-
c언어행렬곱좀 질문 [4]컴공싫타고(211.177) | 14.11.06추천 0
-
안드로이드 ui 스레드 처리 물어본새끼다 소스올림 [9]익명(121.137) | 14.11.06추천 0
-
조금 씁쓸하다. [4]ㄷㄷㄷㄷ;;(182.208) | 14.11.06추천 0
-
근데 저디비쟁이라 코딩졸못함 [3]ㅇ(39.7) | 14.11.06추천 0
-
당장에 미래의 비젼없이 돈이 최고라고 생각하면 할만한일이 몇개 있음. [4]ㅇㄱㄹㅇㅂ..(121.164) | 14.11.06추천 0
-
형님들 C언어 마지막질문좀요..ㅊㅊ(27.117) | 14.11.06추천 0
-
정보올림피아드 저거 초등학생 문제 진짜 초등학생 문제 맞냐 [2]ㅂㅂ(222.233) | 14.11.06추천 0
-
안드로이드 UI 스레드 처리하는거 Handler 없이 하는 방법 있냐 [9]익명(121.137) | 14.11.06추천 0
-
다른건 모르겠고 역대 최고 프갤 개념글이다 저건 [4]익명(165.246) | 14.11.06추천 0
thread handler 조합을 일단 써보시면 아 그렇구나 할겁니다
1) ui 에 관한 업데이트를 유발하는 메소드를 호출할때에는 ui 전용 스레드 위에서 메소드가 실행되게 해야 함. 왜냐? 먼 옛날에 ui 업데이트를 멀티스레드로 해보려는 시도가 있었으나 전부 실패함. 그 이후 모든 ui 관련 플랫폼은 전부 특정 스레드 위에 ui 업데이트 연산이 실행되도록 강제하거나 또는 강력히 권장함
안드로이드는 잘 모르겠지만 데스크탑에서 ui 갱신은 전부 특정 스레드 위에서 하는게 안전함. 운이 좋으면 다른 스레드 위에서 ui 갱신을 해도 문제가 없을 수 있는데 애플리케이션이 방대해지면 화면이 회색으로 나온다든가 막 껌뻑껌뻑 한다든가 요상한 현상이 발생한다는거.... 자바 스윙의 경우는 EDT(Event Dispatching Thread) 라고 이 위에다가 runnable 구현체를 올려주는게 안전하지...
말 그대로 "화면 갱신"을 전담하는 스레드이기 때문에 이 스레드 위에서 Thread.sleep(10000); 같은 코드 실행하면 스레드가 먹통이 돼서 버튼을 누르는 등 action에 화면이 반응을 안함. 네트워크 연결처럼 시간이 많이 걸리는 작업도 이 스레드 위에 올리면 반응성이 극도로 나빠짐.
안써도돼. 안써도되는데 쓰면 편하니까 사람들이 쓰는거 쓰기싫음 쓰지망
안써도 문제없음
언어 모델이 미개해서 쓰는거 자바는 코루틴이 네이티브가 아니라서
아놔콘다//안드로이드에서는 발코딩하는 애들 방지하려고 메인쓰레드에서만 UI작업가능