안 드 로 이 드 종료 프로그램 에서 메모리 방출 문 제 를 해결 합 니 다.

안 드 로 이 드 프로젝트 를 할 때 문 제 를 발 견 했 습 니 다.프로그램 이 종료 되 었 을 때'설정'을 누 르 면 프로그램 을 볼 수 있 습 니 다.화면 에'강제 종료'를 누 를 수 있 는 것 이 표 시 됩 니 다.이런 이 유 는 열 린 activity 가 destroy 되 지 않 았 기 때 문 이 라 고 생각 합 니 다.그리고 디 버 깅 을 한 후에 열 린 activity 가 모두 destroy 되 었 을 것 입 니 다.하지만 결 과 는'강제 종료'를 누 를 수 있 습 니 이 문제 로 인해 저 는 더욱 심각 한 문 제 를 발 견 했 습 니 다.그것 은 바로 제 응용 프로그램 이 종 료 된 후에 시스템 이 제 응용 프로그램 이 차지 하 는 메모 리 를 방출 하지 않 았 습 니 다.그 후에 인터넷 에서 해결 방법 을 찾 았 습 니 다.방식 은 두 가지 가 있 습 니 다.하 나 는 Intent intent=new Intent(Intent.ACTIONMAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(intent); System.exit(0); 방식 2:android.os.Process.killProcess(android.os.Process.myPid());어떤 사람들 은 프로그램 을 끝 낼 수 있다 고 말 하지만,무슨 이유 인지 모 르 겠 습 니 다.저 는 이 두 가지 방법 을 사용 한 후에 도 제 프로그램 을 끝 낼 수 없습니다.저 는'설정'을 누 르 고 제 응용 프로그램 을 볼 때 화면 에'강제 종료'를 누 를 수 있 음 을 표시 합 니 다.그러나 이 두 가지 방법 으로 프로그램 이 차지 하 는 메모 리 를 풀 수 있 습 니 다.심각 한 문제 가 해결 되 었 습 니 다."강제 종료"를 누 를 수 있 는 문 제 는 아무런 영향 을 미 치지 않 을 것 같 습 니 다.그래서 이 문 제 는 저도 해결 하지 못 했 습 니 다.마지막 으로 이 두 가지 방식 과 어디서 사용 하 는 지 말씀 해 주세요.첫 번 째 방식 은 가상 머 신 을 종료 하고 이 방식 을 사용 하 는 것 입 니 다.주의해 야 할 것 은 두 개 이상 의 애플 리 케 이 션 에 activity 가 설치 되 어 있 는 Category 가 HOME 의 애플 리 케 이 션 이 라면,그러면 이 프로그램 을 종료 할 때마다 장 치 는 사용자 로 하여 금 어느 프로그램 에 들 어 갈 지 선택 하 게 합 니 다.두 번 째 방법 은 kill 입 니 다.현재 프로그램 에 들 어 갈 지 선택 하 게 합 니 다.어디서 사용 하면...일반적으로 마지막 activity 의 onDestroy()방법 에서 이 두 가지 방법 을 사용 합 니 다@Override proctected void onDestroy(){/TODO Auto-generated method stub super.onDestroy();/release application's RAM Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(intent); System.exit(0); }

좋은 웹페이지 즐겨찾기