반응형

안드로이드 프로그래밍 3

Kotlin 싱글톤 사용시 주의 사항

싱글톤은 프로세스가 살아 있는 동안 객체가 살아있고 필요한 정보를 한곳에 모울 수 있어 많이 사용하는 방법입니다. 하지만 안드로이드에서는 이 방법을 사용할 때 주의가 필요합니다. 이유는 안드로이드는 메모리가 부족해지거나 절전 모드에서 필요시 프로세스를 죽이고 사용자가 앱을 다시 전환했을 때 재실행하기 때문입니다. 이 때의 재실행은 앱아이콘을 클릭하여 실행하는 경우와는 틀리게 최상단의 액티비티만이 재생성됩니다. 이런 경우에 프로세스가 재실행되는 관계로 프로세스 재실행시 싱글톤은 재생성되기 때문에 싱글톤의 내용이 초기화됩니다. 싱글톤의 사용에 의존하는 경우 갑자기 초기화된 싱글톤을 사용하게 되면 알수 없는 버그가 앱에서 발생할 수 있습니다. 즉, 앱이 실행되는 동안 필요한 영구적인 정보를 싱글톤에만 저장하고..

Kotlin 테스트를 위하여 앱 프로세서 죽이는 방법

안드로이드는 OS가 메모리가 부족해질 때나 절전 모드상태에서 앱을 죽이는(kill) 경우가 발생할 수 있습니다. 이런 경우는 앱을 처음 실행될 때와는 다르게 앱이 죽기 전에 마지막 실행한 액티비티를 안드로이드는 실행합니다. 여기서 실행한다는 말은 onCreate, 즉 아예 생성부터 다시 한다는 말입니다. 참고로 이 경우 최상단 액티비티 이전의 액티비티들은 재생성되지 않고 다시 생성된 최상단의 액티비티가 finish() 명령을 사용한 경우 처럼 닫혀 이전 액티비티가 최상단 액티비티가 될 때 역시 생성부터 다시 됩니다. 메모리가 부족한 상태에서 앱이 안드로이드 OS에 의하여 죽었을 때 앱 전환시의 스크린샷이 그대로 남아있어 앱 전환 스크린 샷을 클릭하면 앱은 전환됩니다. 이 때 내부적으로 앱은 재시작됩니다...

안드로이드 프로그래밍 정복

윈도우즈 API 정복으로 유명한 김상형씨가 저술한 안드로이드용 개발서이다. 이 책을 읽은 이유는 폰개발 방법이 궁금한 것 이상으로 김상형씨가 저술한 책이기 때문이었다. 왜 저자를 이야기하는가 하면 윈도우즈 API 정복을 읽었을 때 이 분의 예제가 너무도 인상깊었기 때문이다. 이 분이 저술한 윈도우즈 API 정복이나 이 책이나 군더더기 없는 예제는 여전히 일품이다. Java는 10년 전에 공부한 것이라 기억이 가물가물하지만 모바일 프로그래밍 공부하는 셈치고 한 번 흩어보았다. 전반적으로 잘짜여진 예제로 인하여 빠르고 쉽게 안드로이드 개발을 공부하기에 좋은 책인 듯 보인다. 남에게 추천해주고 싶은 책이지만 Java를 모른다면 언어를 먼저 공부하고 공부해야하는 책일 듯 보인다. 좀 더 빠르고 쉽게 보려면 디자..

반응형