2012-06-01 5 views
0

아직 안드로이드를 이해하는 데 상당히 익숙하지 않으며 활동 스택에 대해 들었습니다.android의 활동 스택

내가 읽고 이해 한 것은 각 활동으로 진행하면서 스택을 만들고 스택 항목으로 남겨 두었다는 것입니다.

내 질문은 다음과 같습니다

  • 더 많은 메모리를 저장하는 활동 스택 원인 안드로이드를 제거시겠습니까? 예. 이미지가 많은 활동과 같은

  • 활동 스택을 처음부터 처음부터 시작하려는 것으로 알고 있으면 제거하는 것이 더 좋습니까?

두 번째 문장에서 수정해야 할 사항이있는 경우이를 언급하십시오.

답변

2

활동 스택을 처음부터 처음부터 시작하려는 경우 제거하는 것이 더 좋습니까?

그것이 화면에서 화면 뒤로 탐색하는 수단을 허용하기 때문에 활성 스택 다시 스택 중요하다. 그것 없이는 "뒤로 버튼"탐색이 없으며 "작업"개념은 존재하지 않습니다. 안드로이드는 메모리를 관리 할 수 ​​있도록 최적화되어 있습니다 (Activity 라이프 사이클 설명서 참조). 백 스택에있는 활동은 여전히 ​​시스템에서 관리합니다. 너무 바보 같은 짓을하지 않는 한 아무 문제가 없어야합니다. :)

처음부터 처음부터 시작하려는 활동 스택을 제거하는 것이 더 좋습니까?

이 질문을 올바르게 이해하고 있는지 확실하지 않지만 대답은 "아니오"일 가능성이 큽니다. 처음부터 다시 시작 (예 : 백 스택 지우기)하려면 새 활동을 시작할 때 FLAG_ACTIVITY_CLEAR_TOP 플래그를 사용할 수 있습니다.

+0

괜찮 으면 다른 질문입니다. finish()를 호출하면 이전 활동으로 돌아가므로 작업 클래스가 완료되고 가비지 수집되도록 알립니다. 스택의 활동이 사라진다는 의미입니까? – Juju

+0

예. 'finish()'를 호출하면 최상위 액티비티가 스택에서 팝되어 파기됩니다. 'onDestroy()'가 호출되면, 모든 액티비티의 메모리 자원이 해제되고 결국 시스템에 의해 가비지 수집됩니다. 이것은 "뒤로"버튼이 기본적으로하는 기능입니다 (일부 응용 프로그램은 뒤로 버튼을 무시하므로 항상 그렇지 않을 수도 있습니다). –