안드로이드 개발 질문/답변
(글 수 45,052)
프로젝트에 Application 클래스로 전역변수 데이터를 사용하는데
모토로이에서 어플실행후 홈버튼 -> 홈화면-> 다른어플 -> 홈버튼 -> 홈화면 -> 제어플
이렇게 실행하면 죽는데
Application 클래스에 onCreate 부분에 로그를 찍어놨는데
다른 폰의 경우는 onCreate 이 한번만 실행되고 백그라운드에서 다시 포그라운드 호출되도 발생하지 않는데
모토로이의 경우는 재실행시에도 실행이 되면서 기존 값이 날라가면서 죽는 현상이 발생합니다..
기기 특성때문일까요 아니면 메모리가 모잘라서 그런것일까요
좋은 의견 부탁드립니다.
밑에 글에도 댓글을 달았지만.... 그건 OS 특성입니다. 단말기랑은 상관없구요....
앱을 종료하지 않고 홈버튼으로 나오게 되면 OS에서 백그라운드 앱으로 관리하는데요
그 상태에서 이것저것 다른앱을 쓰고 휴대폰을 쓰다보면 메모리가 부족할 시기가 오게되면
OS에서 백그라운드 어플을 하나씩 죽입니다. 그러고 마지막 엑티비티만을 기억하고 있죠
한참 후에 해당 앱을 실행 하면 운 좋게 해당 앱을 OS에서 종료하지 않았다면 다행이지만(안죽겠죠)
죽였다면 종료 했을 시에 기억하고 있던 마지막 엑티비티를 실행하죠
근데 만약 해당 엑티비티에서 해당 엑티비티 외의 다른 엑티비티 또는 다른 클래스의 데이터를 참조하게되면
에러가 나겠죠...? 그래서 어쩔땐 죽고 어쩔땐 안 죽는 것처럼 이해할 수 없는 현상이 벌어집니당...
안드로이드는 신기한 OS 에요... ㅋㅋ