Handler는 잘 사용하지 않는데, Handler를 이용한 코딩이 필요하여 다시 Handler 개념 살펴보면서 적어둔다.
public class HandlerActivity extends AppCompatActivity { |
public class HandlerActivity extends AppCompatActivity { |
보통의 경우 위와 같이 Handler 클래스를 생성하는 방법으로 사용한다. 하지만 이런 방식의 경우 "The handler class should be static or leak might occur." 라는 메모리 누수 경고 문구가 발생할 수 있다.
Activity가 종료되더라도 Garbage collect 가 실행되지 않게 되고 결국 Message가 Message Queue에 상당 시간동안 남아있게 되어 Memory Leak 의 원인이 된다.
이를 해결할 방법은 static inner class 로 Handler를 정의해주고 WeakReference 를 이용하여 Activity 메소드를 호출하는 코드를 구현한다.
import android.os.Bundle; |
<?xml version="1.0" encoding="utf-8"?> |
참조 : https://blog.naver.com/zoomen1004/220053616676
'안드로이드 > Android 기능' 카테고리의 다른 글
Android 9.0 WebView (0) | 2019.08.30 |
---|---|
안드로이드 팝업(PopupMenu) 메뉴 (선택 적용) (0) | 2019.05.30 |
Android EditText에서 줄 바꿈을 추가하는 방법 (0) | 2018.09.21 |
Android – TextView autoLink attribute (0) | 2018.09.21 |
Android Notification (0) | 2018.08.24 |