안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
현제 개발 중인 페이지가
메인 : 지역별로 나뉜다
리스트 : 지역클릭시 지역별 리스트
상세정보 : 컨텐츠에 대한 상세정보
장바구니 : 컨텐츠담기
등등으로 이루어진 구조 입니다.
리스트에서 클릭해서 상세정보보고 다시 백버튼해서 다른정보 보고 대부분 이렇게 사용하지 안을까 하는 생각이구요.
Manifest.xml 파일 Activity 속성으로 android:launchMode="singleInstance" 을 전부 다 집어넣는게 좋은건지
아니면, 사용하지 않는게 좋은건지 궁금합니다.
물론 설계란게 상황에 맞게 사용하는것이 맞는거지만, 스택에 액티비티가 계속 쌓이면, 무거워져서 앱이 죽는경우도 있다고 들었습니다.
리스트 -> 상세정보 -> 백버튼 -> 상세정보
이렇게 페이지를 본 후 백버튼을 두번눌렀을때 이전에 보았던 상세정보가 나오지 않은것이 사용성에 있어 불편한건지도 궁금합니다.
안드로이드 공부한지 얼마되지 안아 앱이 가볍게 죽지안는 앱을 만들고 싶습니다.
생각외로 자주 죽는것 같아서요......




흠...안드로이드라는게 그정도 레벨까지 성능에 신경을 써야하는 플랫폼이 아닙니다.
액티비티 스택이 수십개가 중복되지 않는 이상 리소스 부족으로 인해서 어플이 죽는 일도 없거니와
리소스 부족이 발생하여도 안드로이드 메모리 관리 정책에 의해서 최하단의 굳이 현재 떠 있지 않아도 되는
액티비티가 메모리 해제되는 것일뿐이며 설사 모든 스택이 종료되어 최초 액티비티로 돌아온다고 해도
그 해제했던 놈을 아무일도 없었다는 듯이 자연스럽게 살려내 줍니다. 액티비티가 많아서 어플이 죽는일도 없습니다.
액티비티가 감당이 안될정도로 많다면 감당이 안되는 시점에 가장 불필요한놈 한놈이 죽는거구요
정책에 의해서 현재 포어그라운드로 올라와 있는 액티비티는 최우선으로 관리되기때문에 불편을 초래 할 일도 없습니다.
성능문제라는 것을 미리부터 고려하는 자세가 나쁘다는 것은 아니지만
먼저 플랫폼의 특징과 성질을 이해하고 성능보다는 정석적인 방법으로 접근을 하고 나서
성능이 문제가 발생하면 최적화를 시도하는 순서를 추천드립니다.