나는 3 액티비티 : MainActivity, MovieActivity 및 ActorActivity 있습니다.Android 액티비티 전환 앞뒤로
저는 Android에 익숙하지 않아 여러 활동을 시작하지 않고 메모리가 부족한지 확인하여 각 활동 간의 전환을 구현하는 방법을 이해하려고합니다.
MainActivity (목록 영화) ---> MovieActivity가 동영상을 클릭에 시작하고 당신이 배우를 클릭하면 ---> ActorActivity가 시작 배우를 표시합니다 여기
는 사용자가 통과 수있는 시나리오입니다.이제 배우 액티비티에서는 배우가 별표가있는 영화 목록을 표시하므로 사용자는 현재 액터 활동에 있었던 동일한 영화로 돌아갈 수 있습니다. 그리고 이것은 영원히 앞뒤로 계속되거나 기본적으로 영화와 배우 액티비티를 계속해서 전환 할 수 있습니다.
MovieActivity 및 ActorActivity의 부모 작업을 MainActivity로 설정 했으므로 언제든지 맨 위 버튼을 누르면 모든 동영상이 나열됩니다.
이 시나리오를 처리하는 가장 좋은 방법은 무엇입니까? 사용자가 뒤로 버튼을 눌렀을 때 나는 등 트레이스가 MovieA < -> ActorA라면 앞뒤로 10 번 말하면 이상적인 동작이 무엇인지 잘 모릅니다.
데이비드에게 감사합니다. 이것은 논리적으로 보이며 제가가는 가장 좋은 경로 일 수 있습니다. 구현하고 어떻게 진행되는지 살펴 보겠습니다. 관련 메모에서 의도를 사용하여 새로운 활동을 계속 시작하고 점점 더 많은 메모리를 소비하지 않게 되나요? 시간이 지남에 따라 내 앱의 메모리 사용량을 확인할 수있는 쉬운 방법이 있습니까? 예를 들어 언급 한 바와 같이 사용자가 A -> B -> D -> E -> T -> Q로 100 레벨을 내린다면 백 스택이 그렇게 깊은 레벨을 유지합니까? MainActivity A로 돌아 가야합니다.) 모든 성능 고려 사항을 염두에 두어야합니까? 모든 도움을 주셔서 감사합니다! – falc0nit3
새 활동 인스턴스를 작성할 때마다 메모리를 소비합니다. 얼마나 프로그래밍했는지에 따라 많이 다르며 Views에 무엇이 있는지에 따라 다릅니다. 'Debug' 클래스의 다양한 메소드를 사용하여 메모리 사용량을 추적 할 수 있습니다. 예, 백 스택은 100 레벨 이상의 활동을 추적하지만,이 경우 너무 많은 메모리를 소비하게 될 수 있습니다. 앱이 충돌합니다. 이 "백 스택"을 직접 관리하고 무한히 새 Activity 인스턴스를 계속 생성하지 않는 것이 더 합리적 일 수 있습니다. –