마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

사진앨범 갤러리 호출하면 다시 로딩(OnCreate)되는 문제?

0 추천
안녕하세요.
현재 갤럭시s로 개발 진행중입니다.
사진앨범에서 사진을 선택하면 서버에 전송하는 부분을 구현을 다 했기는 했는데요.
 
사진 올리기 버튼을 클릭하면 사진갤러리 앨범이 뜨고 전송할 사진을 선택하면
사진전송이 된후 호출된 앱으로 돌아오거나, 사진을 선택하지 않고 백 버튼을 클릭하여 취소가 되면,
앱으로 돌아오잖아요.
 
문제는 이때 사진전송을 했을시 사진전송 잘되고, 백버튼 클릭하면 취소는 됩니다.
그런데 호출된 앱으로 돌아오질 못해요. 잘돌아올때가 있고 안돌아올때가 있어요.
MainActivity의 OnCreate를 다시 호출하면서 어플이 처음부터 다시 구동이 됩니다.
아래 부분을 타는것이지요.
public void onCreate(Bundle savedInstanceState){ 
 
갤럭시s 라서 초기모델이라 메모리 문제라는 의견이 있어서 AndroidManifest.xml에서
화면 회전되지 않게도 해놨구  메모리를 크게 잡아준다고 해서  android:largeHeap="true" 것도 해놨습니다.
 
제 생각에도 메모리 문제 같은데, 그런데 마켓에서 다운받아 설치한 다른 어플을 보면...
이런 오류가 한번도 없었거든요. 다시 onCreate가 된적이 한번도 없었습니다.
 
갤럭시s라는 초기버전 문제라면, 다른어플들은 해결을 한것같은데 어떡해 했는지 궁금합니다.
 
addb로 메모리를 보면 다시 OnCreate를 할때 MainActivity 즉, 갤러리를 호출한 Activity가 죽은것으로
보여지는데, 왜 죽나 모르겠네요. 비정상적으로 죽었으니 다시 OnCreate되는것 같구요.
 
하..정말 미치겠습니다. 1주일이 넘어갔네요.
이런 현상의 해결방법을 알려주신다면 사례라도 하고 싶은 심정입니다ㅜㅜ
고수님들의 도움 부탁드립니다.
 
p.s 갤럭시s 3로는 이런 현상이 없었습니다.
 
행복하게 (140 포인트) 님이 2013년 4월 24일 질문

2개의 답변

0 추천
버전마다 틀린 속성값이 지만

android:configChanges="orientation|screenSize"

화면 좌우가 바뀌어도 oncreate를 안타게는 하신것 같은데 위의 코드를 사용하신건가요

아니면 그냥 가로 세로를 고정하신건가요?

그냥 가로세로 고정이라면 삼성 갤럭시 시리즈는 무슨 이유인지 모르지만, 갤러리나 카메라를 갔다올때 자체적으로

화면이 한번 회전을 합니다. 그로 인해서 기존 설정값이 날라가는 경우가 있습니다.

해당 부분 확인해 보세요..
wind (2,240 포인트) 님이 2013년 4월 24일 답변
0 추천

저도 예전에 갤럭시  S 때문에 고생했던사람입니다...

이유는 잘모르겠으나...

저는그래서 중요 변수들을 아래의 메소드에 저장시켜

 

protected void onRestoreInstanceState(Bundle savedInstanceState) {};
protected void onSaveInstanceState(Bundle outState){};
 
갤럭시 S 처럼 죽을경우를 대비해서 저장 / 복원 하도록 해놨습니다.  
 
위에 두함수에대해서는 검색하면 많이 나올겁니다..
 
구현하는바가 어떤건진 모르겠으나 저도 죽는 오류를 해결하지못하여 이런 방법으로 처리를  했습니다..^^;;
 
 
 
 
짜자자잔 (500 포인트) 님이 2013년 4월 24일 답변
짜자자잔님이 2013년 4월 24일 수정
...