2012-07-04 1 views
1

새 활동을 시작할 때 현재 활동을 명시 적으로 마무리해야합니까, 아니면 안드로이드가 이것을 돌 봅니까?Android에서 활동을 명시 적으로 완료해야합니까?

Intent intent = new Intent(this, BActivity.class); 
startActivity(intent); 

나는 위의 두 라인을 언급 한 후 다음 줄을 호출하여 종료해야 :

이것은 내가 활동 B를 시작하는 활동가 쓸 무엇인가?

this.finish() 
+1

활동이 완료되고 사용자가이 활동에서 사용하는 리소스를 확보하기 위해 마무리()를 호출해야 그것을 반환하지 않을 경우. 낭비되는 메모리가 적어지면 더 나은 앱을 의미합니다. – Sam

답변

7

일반적으로 아니오는 아닙니다.

액티비티 A에서 finish를 호출하면 차이가 발생합니다. 사용자가 뒤로 버튼을 누르면 액티비티 B에있는 동안 애플리케이션을 열기 전에 수행 한 작업으로 돌아갑니다.

Activity A -> Activity B -> [user press back] -> Activity A 
: 당신이하지 통화 마무리 DO 경우

Activity A -> Activity B -> [user press back] -> Homescreen (or whatever activity is on the stack below activity A) 

: 대신 활동 A의 마무리를 호출하지 않으면 통화 마무리 DO 경우 그들은 다시 활동

로 이동합니다

1
explicitly finish the current activity or does android take care this ? 

활동 A를 원할 경우 귀하의 요구 사항에 따라 양식 활동 B가 다시 돌아 오는 동안 끝내기 위해 전화 할 필요는 없지만 활동 A를 원하지 않으면 활동 B로 돌아올 때 끝내야합니다. ...

1

아니요, 의무 사항은 아닙니다.

finish() 

마무리 방법 상태 가 "당신의 활동이 수행되고 폐쇄되어야 할 때이를 호출합니다. ActivityResult가 다시 onActivityResult를()을 통해 출시 누구든지 전파됩니다."

참조 링크 >>link