안드로이드 초보 개발자입니다.


안드로이드의 메모리 개념은 정말 체감상 이해하기힘들군요.


단순한 UI를 가지고 있는 어플을 개발중입니다.


activity수는 16개 남짓됩니다.


각 activity는 배경한장과 버튼 한두개 정도로 구성이 되어있습니다.


이건 간단한 UI에서도 메모리가 부족한 OOM이 나네요.


배경과 버튼은 어플리케이션의 화면에 맞게 크기조절도 해놓은거라


그리 메모리가 크지 않습니다.


게다가 혹시 그때문에 OOM이 발생하나 해서 activity에서 activity로 넘어갈때


destroy를 시켜버리고 메모리를 회수하는 함수를 실행시키도록 했습니다.


callback함수를 null로 하거나 이미지를 recycle 시키는 함수죠.


하지만 이것역시 먹히지 않습니다. 일시적인 해결책일뿐 근본적인 문제가 해결되지 않습니다.


이유를 알수 없군요 overridependingtransition으로 준 activity간의 애니메이션 때문인가 해서


애니메이션 역시 주석처리를 하고 실행시켜 봤지만 OOM이 납니다.


그래서 여기 계시는 개발자 분들께 문의드립니다.


몇가지 뇌리를 스치는 원인에 대하여 말씀을 드리자면,


UI를 구성할때 xml파일을 전혀 건들지 않은상태에서 순수 코딩으로 UI를 구성했습니다.


즉 뷰의 생성을 코드로 한겁니다.


혹시 이것이 OOM의 문제가 될수도 있다고 생각하십니까?


혹은 이미지 이외의 것이 OOM을 발생시킬수 있는 원인이 될수 있나요.


현재 상황을 말씀드리자면 6메가 짜리 글씨체를 하나 쓰기 때문에


힙메모리상태가 여유가 없을거라는 예상을 할수있지만 activity 한두개 왔다 갔다 한다고


뻗을 만한 메모리는 아니라고 생각합니다.


그리고 다른 폰에서는 정상적으로 작동하지만 갤럭시 넥서스를 가지고 테스트한 결과


계속 이런 OOM이 납니다.


레퍼런스폰 자체가 메모리가 작게잡혀있나요?


두서없는 글이 었네요.


정리하자면


1. 순수 코딩으로 구성한 UI가 OOM의 원인이 될수 있습니까?


2. 이미지를 가지고 노는부분 이외에 코딩적인 부분 때문에 OOM이 날 가능성이 있습니까?


3. 레퍼런스폰이 원래 메모리가 작은건가요?


여러분의 도움을 구합니다 ㅜㅜ.