2012-04-19 2 views
1

나는 안드로이드에 대해 거의 새삼 스럽지만, 지난 2 ~ 3 주 동안 나는 그 내부의 대부분과 어떻게 작동 하는지를 알아 냈다. 그러나 활동과 간단한 양식의 기본적인 차이점은 무엇입니까? 글쎄, 나는 안드로이드가 '폼'과 같은 것을 가지고 있지 않다는 것을 안다. 그러나 그것은 기본 클래스와 그 모든 기능성을 가진 요소의 전체 화면 레이아웃이 프로세스 전체 클래스가 아니라 그 안에서 실행된다는 것을 의미한다. 활동, 정확하게 말하면).Android에서 활동과 간단한 양식의 근본적인 차이점은 무엇입니까?

내가 이해하는 한, 활동은 OS가 전체 애플리케이션과 기본적으로 독립적 인 일부 작업을 수행하기 위해 인스턴스화 한 별도의 프로세스입니다. 즉, 응용 프로그램의 활동 중 하나만 실행할 수 있으며 전체 응용 프로그램을로드 할 필요없이 모든 기능을 수행합니다. 예를 들어 한 코덱에서 다른 코덱으로 영화를 변환 할 수있는 동영상 플레이어가있는 경우 파일 관리자와 같은 다른 응용 프로그램도 을 사용하여 코덱간에 영화를 변환 할 수 있도록 해당 기능을 별도의 활동으로 구현할 수 있습니다 전체 활동이 아니라 해당 활동.

그리고 그것은 매우 간단합니다. 문제는 무엇입니까? 을 응용 프로그램과 분리 할 수없는 기능을 위해 모든 사람들이 별도의 활동을 사용하는 이유는 무엇입니까? 즉, 사람들은 일반적으로 동일한 프로세스 내에서 양식이 단순하다고 생각하는 활동을 더 적절하게 사용합니다. 예를 들어, 사람들은 응용 프로그램 설정과 같은 작업에 대해 별도의 활동을 사용하는 것을 보았습니다. 응용 프로그램 설정은 응용 프로그램 외부에서 실행되지 않거나 응용 프로그램 특정 데이터를 편집하는 것으로, 응용 프로그램 외부에서 수행되지는 않습니다. 편집 할 데이터는 응용 프로그램에만 알려진 목록에서 선택해야하기 때문입니다.

내 경험에 비추어 볼 때 또 다른 예는 단위 변환기 응용 프로그램입니다. 그것은 단위의 GridView가있는 메인 메뉴를 가지고 있습니다. 각 카테고리에는 단위 목록이 있으며, 단위를 클릭하면 변환하려는 값을 입력하기위한 '계산기'형식이 있습니다. 모든 사람들처럼 내가 그 일을했다면 세 가지 활동을 제안 할 것입니다. 하나는 주 메뉴, 하나는 단위 목록, 다른 하나는 값 입력입니다. 하지만 왜? 왜 그 세 가지 액티비티 중 하나를 애플리케이션과 별도로 시작하고 싶습니까? 메인 메뉴 액티비티를 시작하려면 전체 애플리케이션을 시작하지 않으시겠습니까? 만약 내가 단지 단위 목록을 원한다면 - 전체 응용 프로그램을 시작하기 만하면, 일부 Facebook 클라이언트는 압력 단위 사이의 값을 변환 할 것입니다 (단위 목록은 한 번에 하나의 범주 만 포함하기 때문에). 전환을 수행하기 위해 목록으로 돌아 가야하고 목록 활동을 시작하지 않아야하기 때문에 계산기에 대한 활동을 시작하면 효과가 없습니다.

어쨌든 내가 틀렸을 때 사람들이 현명하게 사용하더라도 안드로이드 SDK는 실제로 양식을처럼 전혀 지원하지 않는다는 문제가 있습니다. 예, ViewAnimator, ViewSwitcher 등과 같은 것들이 있습니다. 그러나 그것들은 모두 그 자리에서 레이아웃을 바꾸는 것만으로 폼 간의 전환이 거의 없습니다. 따라서 적어도 해당 기능에 가깝게 접근하는 유일한 방법은 활동을 사용하는 것입니다. 그리고 우리는 정사각형으로 돌아 왔습니다.

간단히 말해서 - Android 철학에서 뭔가 빠졌습니까? 왜냐하면 나는 애플리케이션의 모든 단일 폼에 대해 별도의 Activity (그리고 결과로 분리 된 프로세스)를 사용하는 것이 과잉이라고 확신하기 때문이다. 실제로 안드로이드가 안다면 안드로이드는 어떤 실질적인 폼 전환 메커니즘을 가지고 있지 않은가?

이 문제에 대한 설명을 미리 감사드립니다.

답변

4

활동은 별도의 프로세스에서 생성되지 않습니다 (명시하지 않는 한).APK의 모든 항목이 귀하의 프로세스에서 생성됩니다. 다른 애플리케이션이 어떤 이유로 든 당신의 Activity를 사용하고있다하더라도.

매니 페스트에 인 텐트 필터를 지정하지 않아도 애플리케이션을 효과적으로 효과적으로 비공개로 설정할 수 있습니다.

주어진 예에서 양식은 활동과 같습니다. 이것은 Android에 깊이 파고 드는 보편적 인 성명은 아니지만 초보자에게는 그다지 유익하지 않습니다. 또 다른 공통 유추는 활동이 전통적인 양식 기반 UI보다 웹 페이지에 더 가깝다는 것입니다.

관련 문제