안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
A엑티비티에서 버튼을 눌러서 B엑티비티로 넘어가는데요.
A엑티비티 버튼을 누르자 마자 home키를 누릅니다.
그러면 B엑티비티의 oncreate()가 불리는거 까지는 확인을 했습니다.
문제는 onResume인데..
제가 여기서 이런 저런 설정을 합니다.
그런데 onResume에 들어와서 몇줄 실행하다가 back그라운드 상태가 됩니다......
그래서 다시 진입을 해보면 onResume 첨부터 시작을 하는데..
여기서 하는 작업이 꽤나 복잡해서 순서가 맞지않아서 원하는 세팅이 안됩니다.....
물론 A엑티비티에 버튼을 누르고 b엑티비티로 넘어가서 홈키를 누르면...정상작동하지요.....
음...이걸 어떻게 해결해야할지....감이 안오네요......
엑티비티가 한두개도 아니고 말이죠....
액티비티 전환 사이에 홈키를 눌러주는 멋진 사람이 있다면 분명 고민거리가 되죠.
액티비티 전환 사이에는 시간이 짧아서 내부분의 코드에서는 크게 문제는 없지만, 로딩(셋팅)이 오래 걸리는 작업이라면 오류가 나죠.
저같은 경우는 특히 카메라 문제, 3D문제 등의 일들이 문제가 되었는데요, onPause와 onResume에 지금 현재 상황을 체크 하는 것을 넣었습니다. onCreate에서 로딩이 완료가 최종적으로 완료가 되면 OK사인 같은것을 남기는 것이죠. 다시 시작되었을때, 완전한 로딩이 되지 않았으면 다시 로딩하게끔 구성 하였었습니다. 하지만, 단순 메모리연산만 다시 하면 크게 문제는 안되겠지만, 카메라, 3D, 등은 하드웨어 영향이 있다보니까 무슨 수를 써도 오류가 나기 마련인것 같습니다. 기본으로 담겨있는 카메라 어플도 로딩중에 홈키를 팍! 눌러주면 간혹 죽더군요.. 카메라 오픈과 릴리즈 타이밍이 맞지 않아서 그런일이 벌어졌었는데요..음..
뭐.. 결론은 그냥 저같은경우는 로딩완료 사인을 만들어서 완료되지 않았으면 다시 로딩하게끔 디자인 했습니다.
@_@;