폰갭에서 프로그램 확실하게 종료 않되는건가요? > 자유게시판

자유게시판

폰갭에서 프로그램 확실하게 종료 않되는건가요? 정보

폰갭에서 프로그램 확실하게 종료 않되는건가요?

본문

개발중인 프로그램을 종료시키면

제대로 종료가 되는걸 확인 하였는데

크롬의 TimeLine 을 보면 계속 살아 있습니다.

 

개발중인 프로그램을 종료 한후

노트2에서 History 을 보면 

이전에 사용했던 프로그램 List 에 나오길래 

오른쪽으로 밀어서 종료 시켰더니

완전히 사라지고 이때서야 

종료가 되더라구요.

 

종료 코드 이전에 

다른곳에서 Cache 을 지우는 작업을 했고

 

종료 코드는 아래와 같습니다.

 

 

    if (navigator.app && navigator.app.exitApp) {

       navigator.app.exitApp();

    } else if (navigator.device && navigator.device.exitApp) {

       navigator.device.exitApp();

    }

    else {

      owebmat.msg.showLongCenter('none');

    } 

 

 

종료될때 툴에서 나오는 Waring 을 보면 아래와 같이 나오는대

 

THREAD WARNING: exec() call to App.exitApp blocked the main thread for 185ms. 

Plugin should use CordovaInterface.getThreadPool(). 

 

구글 검색을 했는대, 다른 방법이 없는건지....

 

 

 

 

추천
0
  • 복사

댓글 6개

원래 어플 들이 한번 실행 시키면 백그라운드(프로세스)에 지속적으로 상주 하는 것으로 알고 있습니다.



http://nmshome.tistory.com/entry/Process-%EC%A2%85%EB%A3%8C-%EC%8B%9C%ED%82%A4%EA%B8%B0


http://tjandroid.blogspot.kr/2013/10/kill-process.html
감사합니다......

저는 Cordova 에 WebView 하나만 이용하고,
Cordova 의 Script 함수만 이용해서 작성중이거든요.

Cordova 4.x 버젼이고,
native 에 적용해 봤더니, 죽지는 않는대 Log 쪽에 해당 프로그램의 Signal 을 보내는 PID 가 뜨더라구요.
원도우 응용 생각을 하면서 짜고 있는대, 이런 방식은 Message 형태이기는 한대
백그라운드에서는 여전히 죽지 않았더라구요.

그러면서 문제가 발생했는대
개발 프로그램을 다시 실행하니 Log 에 cordova.js 로딩 실패라고 뜨면서 멈춰 버립니다.

좀더 파보고 해결점을 찾게 되면 공유 할께요...감사합니다..
라이프 사이클 이벤트를 캐치하셔서 유무 판별하시는것도 괜찮은 방법입니다..

http://blogs.telerik.com/appbuilder/posts/13-12-31/phonegap-apache-cordova-lifecycle-events

네이티브에서 라이프사이클 관리자 전 좀 힘들어서 이벤트리스너로 따로 관리해서 작업해준경우가 많이 있습니다.
예에....감사합니다.

알려주신 링크 내용들과 이벤트들을 이용해서
숨겨질때 메모리 풀어주고, 보일때 다시 Call 하는 방법으로 구현을 했는대
가만히 나두면 그리 크지 않지만 메모리가 계속 급증하는 상태라........

앱을 사용 하면 가베지가 풀어주는대 ( 가베지 방식 정말 싫어요...개발자가 직접 제어했으면 좋겠는대 )
직접 메모리 풀어주는 이벤트을 넣으면 얼마 정도만 반환대고 한참후에 가베지가 풀어주고..

큰 레이아웃 구성중에서 메모리 부분만 3일째 낑낑대고 있어요....ㅠ_ㅠ

크롬 툴로 녹화한거예요...
http://www.youtube.com/watch?v=yqKYYUNEQ8g
© SIRSOFT
현재 페이지 제일 처음으로