안드로이드 개발 질문/답변
(글 수 45,052)
앱 개발 초기부터 마무리인 지금까지 정말 이 것만큼 절 괴롭히는게 없네요;
Tmap 띄우고, 갤러리 띄우고,
그리고 제 앱을 실행시킵니다.
그리고 갤러리에서 이미지를 가져와 CROP해서 이미지뷰에 넣는 작업을 합니다.
그럼 갤러리에서 선택한 이미지를 CROP 인텐트로 보내는 과정에서 메모리가 한 번 죽습니다.
이 때 분명 onSaveInstanceState가 돌아갑니다.
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); if (capturedImageUri != null) { outState.putString("uri", capturedImageUri.toString()); EditText et = (EditText)findViewById(R.id.body); outState.putString("body", et.getText().toString()); Log.d("BestClinic", "CounselWrite save " + outState.size()); } }
그리고 이미지를 잘라서 확인을 누르면 다시 돌아오는데 이 때 메모리가 한 번 죽었었으므로
onCreate가 실행이 되죠.
여기서 super.onCreate()에서 savedInstanceState를 인자로 넘기면
이 때 저장된 번들을 읽어오는 것 같은데요.
여기서 제대로 읽어오질 못합니다.
자꾸 데이터가 유실되네요 ㅠ
미치겠습니다. ㅠ 메모리가 부족하면 쉬는 앱을 죽이는게 안드로이든데,
극한의 상황에서 테스트를 해보면 제 인텐트까지 죽어나가고, 이 때 데이터라도 보존해놓으면 좋으련만
이것마저 안되니 제가 죽겠습니다.ㅠ
다른 분들은 이런 문제 안겪으시나요?
lifecluee@gmail.com