프로그래밍에 대해 Android에서 이야기하고 있습니다. 초기에 finish()와 System.exit (0)의 차이점
나는finish()
는 현재 활동을 닫고 다시 활동 스택에서 이전에 가서
System.exit(0)
전체 응용 프로그램을 닫고, 생각했다.
하지만 잘못되었습니다. 나는 작은 실험을 만들었으며 두 가지 모두 현재 활동 인 만 끝낼 것이라고 생각했습니다. 내가 알 수
유일한 차이는 ActivityResult
- 안드로이드 2.3.3에서
onActivityResult()
이finish()
를 사용하여 다시 전달되어 있다는 점이다. 반면System.exit(0)
에 대해서는onActivityResult()
이 호출되지 않았습니다.
하지만 Android 4.2.2에서는 onActivityResult()가 둘 다 호출됩니다! exit()의 경우 Intent가 null입니다. finish()
이 빠른 반면 exit()를 사용하는 경우
- (I 만이이 장치에서 테스트) 시간 지연이 있습니다. (출구에서 더 많은 배경 작업처럼 보인다있다())
그래서,
둘 사이의 차이는 무엇
?어떤 상황에서 exit()를 사용할 수 있습니까?
나는 두 가지 방법 중 하나가 더 이상 없다고 생각합니다. 누군가가 더 설명하고 나를 바로 잡을 수 있기를 바랍니다.
감사 요청에 따라
편집 :
2 개 활동과 안드로이드 응용 프로그램을 확인합니다. 인 텐트를 사용하여 실행기 활동에서 두 번째 활동을 호출하십시오. 이제 두 번째 활동에서 버튼을 클릭하면 System.exit(0);
으로 전화하십시오. "VM는, 상기 프로그램의 실행 및 종료한다 멈춘다.를"???? I가 제 활성을 참조
(documentation에 따라). 왜?안드로이드 개발자에 따르면
http://stackoverflow.com/questions/2033914/quitting-an-application-that-frowned-upon. 여기서 답을 확인하십시오 – Raghunandan
@Raghunandan : 그건 좋은 것입니다. 모두들 좀 봐주세요. 그러나 방대한 양의 정보. 누구든지 내 주제에 맞게 간략하게 말할 수 있습니까? – Nizam
'System.exit()'을 사용하지 마십시오. 나는 그것을 추천하지 않습니다. 'finish()'를 사용하십시오. 탐색을 위해 탐색 서랍을 사용할 수 있습니다. – Raghunandan