안드로이드 개발 질문/답변
(글 수 45,052)
실행되자마자 구글음성검색창이 뜨게끔 되어있습니다.
그런데, 음성검색창을 취소한후 어플리케이션을 종료한다던가, 인터넷 연결이 비활성화 되어서
음성검색창이 제대로 종료되지 않았을 때, 어플리케이션이 백그라운드에 남아있습니다.
그로인해서 다음번 실행시킬 땐 검생창이 자동으로 실행이 안되네요
제대로 실행시켜서 검색을 마치고, 제대로 종료시킬 때는 자동실행이 잘 됩니다.
종료시킬 때 경고창 띄워서 finish() 함수로 종료를 시켜도 답이 없네요,
태스크킬 종류로 백그라운드 완전 죽이니깐 제대로 실행되구요,
이처럼 태스크킬 처럼 백그라운드까지 완전히 죽일 수 있는 방법이 있을까요?
2010.08.26 12:10:36
원래 process는 항상 inactive로 남습니다.
애플리케이션이 process를 의미하는 것은 아니거든요
물론 task killer처럼 permission을 추가해서 process를 킬 할수도 있긴 할텐데... 좋은 방법은 아닐 것 같습니다~
일반적인 안드로이드앱의 lifecycle이 아니거든요~
설계를 한번 다시 보셔야 겠네요~
2010.08.26 14:05:05
검색해보시면 한번에 종료하는 방법 있어여
찾다보니까 본거 같거든요
어플리케이션 종료하면 거기에 딸려있던것들을 다 프로세스에서 죽여버리는거였던거 같은데
즉 백그라운드로 넘기는게 아니겠죠
아니면 System.exit(0)를 통해서 백그라운드로 안 보내고 종료시켜버리는 법이 있는데
안드로이드 정책에 의해 쓰지 말라고 어떤 사람이 글 쓴거 같던데
전 GPS가 어플 꺼도 살아있길래 이걸로 죽여버림 ㅎㅎ
10~30초 더 켜져있는 꼴을 못 봐서
찾다보니까 본거 같거든요
어플리케이션 종료하면 거기에 딸려있던것들을 다 프로세스에서 죽여버리는거였던거 같은데
즉 백그라운드로 넘기는게 아니겠죠
아니면 System.exit(0)를 통해서 백그라운드로 안 보내고 종료시켜버리는 법이 있는데
안드로이드 정책에 의해 쓰지 말라고 어떤 사람이 글 쓴거 같던데
전 GPS가 어플 꺼도 살아있길래 이걸로 죽여버림 ㅎㅎ
10~30초 더 켜져있는 꼴을 못 봐서
2010.08.26 14:30:12
일반적인 OS환경의 애플리케이션은 애플리케이션 process가 살아 있느냐 죽었느냐가 lifecycle인데
안드로이드는 그 개념이 좀 달라서요;
process가 떠 있더라도 신경 안쓰는게 답~ 그리고 process가 죽지 않아도 모든 service, activity등의 context가 다 destroy되어 inactive process가 되면 자원을 다 해제해줘야지요~ 안 그럼 띄울떄마다 생성되니까요~
process를 명시적으로 죽이는건 정답은 아닌 것 같습니다^^