안드로이드 개발 질문/답변
(글 수 45,052)
A라는 액티비티와 B라는 액티비티를 액티비티 그룹을 이용하여 상호 연결하였습니다.
서로 화면 전환이 되도록 하였는데
잘되다가 정확히 3번 왕복하면 StackOverflowError나 leak found에러를 발생시킵니다.
어느 부분을 수정해야 이 문제를 피할수 있나요?
메모리 OverFlow문제라면 메모리 초기화를 시키는 방법이 있나요?
위 두개 함수는 서로 다른 액티비티입니다.
Intent intent = new Intent(A.this,B.class);
LocalActivityManager activityManager = getLocalActivityManager();
Window window = activityManager.startActivity("insert", intent);
setContentView(window.getDecorView());
----------------------------------------------------------------------------------------------
Intent intent = new Intent(B.this, A.class);
LocalActivityManager activityManager = getLocalActivityManager();
Window window = activityManager.startActivity("backlist", intent);
setContentView(window.getDecorView());서로 화면 전환이 되도록 하였는데
잘되다가 정확히 3번 왕복하면 StackOverflowError나 leak found에러를 발생시킵니다.
어느 부분을 수정해야 이 문제를 피할수 있나요?
메모리 OverFlow문제라면 메모리 초기화를 시키는 방법이 있나요?
위 두개 함수는 서로 다른 액티비티입니다.




setContentView에 그냥 window.getDecorView() 넣는 식으로 쓰는것은 좋지 않습니다.
저도 몇번해봤는데 릭이 나오더군요...
탭을 보고 탭처럼 쓰는것을 권장드립니다.
탭을 잘 보면 내용을 담는 frameLayout이 있고...
새로운 뷰로 전환할때는 이 frameLayout에 child가 있는지 확인해서 있으면 remove하고 새로운 뷰를 추가합니다.