본문 바로가기
반응형

android handler3

[Android] Thread 사용하기 기존에 MainActivity에서 Handler를 이용한 프로그램을 많이 사용했습니다 이유는 Handler.sendEmptyMessageDelayed를 이용하게 되면 내가 원하는 만큼 지연을 줄 수도 있고 핸들러를 원하는 시간 간격만큼 딜레이를 주면서 반복적인 작업이 가능했기 때문입니다 하지만 핸들러 사용에 가장 큰 문제는 해당 처리를 현재 Activity의 MainThread에 전달할 뿐이고 처리는 Handler라는 곳에서 하는것이 아닌 온전히 MainThread의 몫이라는 것입니다 그렇다 보니 Handler를 많이 사용하게 될 경우에는 메모리 릭에 의해 어플이 종료되는 현상이 발생합니다 이러한 문제를 해결하기 위해선 MainThread의 과한 업무부담을 줄여주는 것인데 그 방법으로 Handler가 아.. 2022. 8. 30.
[Android] java.lang.RuntimeException 에러 해결 안드로이드 개발 중 Thread 내부에서 Handler를 사용했을 때 다음과 같은 에러 문구가 발생했습니다 2011-01-01 21:36:04.816 18055-18106/com.ftdi.javad2xxdemo E/AndroidRuntime: FATAL EXCEPTION: Thread-4 Process: com.ftdi.javad2xxdemo, PID: 18055 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:204) at android.os.Handler.(Handler.java:118) at com.ftdi.. 2022. 6. 28.
[Android] 핸들러란? 안드로이드 프로그램에서 필수적으로 사용되는 Handler란 무엇인지에 대해 정리하겠습니다. 핸들러에 알기 위해서는 먼저 스레드와 함께 생각을 해 보아야 합니다. 스레드는 하나의 프로세스 안에서 동시에 수행되어야 하는 작업을 위해 사용합니다. 자바에서 스레드를 학습해본 분이라면 접근이 더 쉬울 텐데요. 그 이유는 안드로이드 시스템의 스레드는 자바의 스레드 개념을 그대로 사용하기 때문입니다. 하지만 안드로이드 시스템에서 프로그램을 작성하는 개발자가 생성한 스레드는 UI 변경 등의 행동을 할 수가 없습니다. 그 이유는 UI를 관리하는 메인 스레드와 동시에 접근할 때 발생할 수 있는 문제를 사전에 방지하기 위해서 안드로이드 시스템에서 만들어놓은 안전기능입니다. 이러한 UI접근 등을 핸들러를 통해서는 가능하기 때.. 2021. 10. 13.
반응형