안드로이드 개발 질문/답변
(글 수 45,052)
코딩으로 애니메이션을 구현해서 돌리는데 폰 폴더를 여닫을 때마다 초기화되서 청므부터 다시 재생이 되다가
나중에는 Force Close가 뜨더군요.
애니메이션 뿐만 아니라 간단한 게임이 실행되는 중에도 폴더 상태만 바뀌면 초기화되어 버립니다...
아무래도 새로 액티비티를 시작한다던가 해서 메모리가 쌓여서 그런 듯 싶은데...
이럴 때 호출되는 함수가 뭔지 모르겠습니다.
폰 폴더를 여닫아도 '아무런' 변화가 없게 하려면 어떤 방식을 쓰는 게 좋을까요?
나중에는 Force Close가 뜨더군요.
애니메이션 뿐만 아니라 간단한 게임이 실행되는 중에도 폴더 상태만 바뀌면 초기화되어 버립니다...
아무래도 새로 액티비티를 시작한다던가 해서 메모리가 쌓여서 그런 듯 싶은데...
이럴 때 호출되는 함수가 뭔지 모르겠습니다.
폰 폴더를 여닫아도 '아무런' 변화가 없게 하려면 어떤 방식을 쓰는 게 좋을까요?
2009.05.26 21:07:25
링크를 변경될 수 있는 것으로 남기셔서 제가 설명을 추가합니다.
안드로이드는 config가 바뀌게 되면 Activity를 다시 시작하게 되는데, Activity가 다시 시작되는 것을 막으려면 AndroidManifest.xml에서 android:configChanges="orientation|keyboardHidden부분을 삽입해줍니다. 사용자의 반응에 따라 바뀔수 있는 config는 주로 orientation|keyboardHidden 이므로 두개 정도만 설정해주시면 됩니다. 이 경우 코드 작업을 하려면 onConfigurationChanged 메서드를 구현해주시면 됩니다.
<activity android:name=".graphics.GLSurfaceViewActivity" android:label="Graphics/OpenGL ES/GLSurfaceView" android:theme="@android:style/Theme.NoTitleBar" android:configChanges="orientation|keyboardHidden"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.SAMPLE_CODE" /> </intent-filter> </activity>
안드로이드는 config가 바뀌게 되면 Activity를 다시 시작하게 되는데, Activity가 다시 시작되는 것을 막으려면 AndroidManifest.xml에서 android:configChanges="orientation|keyboardHidden부분을 삽입해줍니다. 사용자의 반응에 따라 바뀔수 있는 config는 주로 orientation|keyboardHidden 이므로 두개 정도만 설정해주시면 됩니다. 이 경우 코드 작업을 하려면 onConfigurationChanged 메서드를 구현해주시면 됩니다.