Android:back 버튼 클릭시 앱이 종료 되는 현상에 대해서 아시는 분

Alloy 프레임워크를 사용해서 안드로이드에서 작업 하고 있습니다.

메인 윈도우에서 다른 윈도우를 열고 그 후에 android:back을 눌러 이전 윈도우로 돌아 가려고 합니다.

현재 증상은 바로 앱이 종료 되어 버립니다.

API만 사용 했을 때는 문제가 없던 것으로 기억하는데, Alloy상에서는 앱이 종료 되는 것이 맞는 건가요?

혹시 이런 증상에 대해서 아시는 분 계신가요?


Facebook Group's likes and commnets
Yoonju Chang(05-28 13:36) : 말씀하신 속성이 있건 없건 관계 없이 메인 윈도우에서 서브 윈도우를 연 후에 서브 윈도우에서 android:back을 클릭시 종료 됩니다.
JongEun Lee(05-28 17:09) : 장윤주 이상하네요. 관련된 코드를 공유해주시면 다른 분들이 도움을 드리기 수월할것같습니다. 괜찮으시다면 프로젝트 전체를 공유해주시면 더 확실히 파악할수 있겠죠.~
Yoonju Chang(05-28 17:59) : 이종은 감사합니다. 어찌어찌 해서 문제를 해결 한 것 같아서 댓글 답니다.

안드로이드에서 Alloy사용 할 때 컨트롤을 바로 오픈 해 버리면 이전 윈도우가 죽어 버리는지 사라져 버리고 마지막 오픈 한 윈도우가 메인처럼 동작하는 듯 합니다. 즉 android:back 버튼 클릭시 앱이 종료 되어 버립니다. 앱의 생성 조건은 navigation-bar를 hidden으로 설정 한 경우 입니다.

그런데 혹시나 해서 새로 오픈 할 윈도우의 tss에 navBarHidden:true 를 지정해 주니 android:back 클릭시 해당 윈도우만 종료되고 이전 윈도우로 정상적으로 돌아가더군요. 이상한 것은 다른 이전에 공개된 소스들을 보면 속성 지정과 관계 없이 정상적으로 동작을 하는 것 같습니다.

이것 때문에 이틀을 고생 한 것 같습니다. 저녁에 다른 노트북 환경에서 테스트를 더 해봐야 할 것 같네요…

참고로 사용한 Titanium SDK버젼은 3.1.0.GA 입니다.
Nam Seok Koh(05-28 18:05) : 위 설명하신 대로라면 titanium의 안드로이드 에서만 해당하는 개념인지는 모르겠지만 heavy weight window랑 light weight window에 대해 알아보시면 될 것 같네요
JongEun Lee(05-28 18:21) : 장윤주님 고남석님 말씀처럼 heavy weight window랑 light weight window 문제입니다. 이 두개의 구분은 navbarhidden, fullscreen 속성등을 명시적으로 지정했을때 heavy weight 윈도우가 되며 이 heavy weight 윈도우가 하나만 존재할경우 그 윈도우가 닫히면 앱이 닫힙니다. 자세한 사항은 http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.UI.Window 를 참조하시면 됩니다. Android native에서 말하는 Activity와 관련된게 바로 Heavy window입니다.
JongEun Lee(05-28 18:22) : 위 링크에서 Android Heavyweight and Lightweight Windows 섹션을 보시면 됩니다.
Yoonju Chang(05-28 18:36) : 네 감사합니다~

혹시 해당 윈도우이 exitOnClose 속성이 설정되어있는거 아닌가요? 이거 설정하면 해당 윈도우가 닫힐때 앱이 종료 됩니다.
그리고 참고로 이 속성은 인스턴스 생성시에 지정해야만 정상작동합니다.