활동과 조각의 차이점은 무엇입니까?


80

내 연구에 따르면 백 스택의 개념과 존재 방식에 상당한 차이가 있습니다.

활동

  • 사용자 activitybackstack에 배치 되면 버튼을 activities누르기 만하면 이전 활동으로 돌아갈 수 있습니다 back.

  • Activity 독립적으로 존재할 수 있습니다.

파편

  • 이되면 fragment활동에 배치됩니다 우리는 호출하여 저장하는 인스턴스를 요청해야 addToBackstack()동안 fragment transaction.

  • Fragment 내부에 살아야 activity

추가 차이점이 있습니까?


8
프래그먼트는 매니페스트에서 선언 할 필요가 없습니다. 중첩 된 조각이 있지만 중첩 된 활동을 가질 수 없습니다
hoomi

답변:



38

활동과 조각의 주요 차이점

  1. 활동은 사용자가 상호 작용할 수있는 사용자 인터페이스를 제공하는 응용 프로그램 구성 요소입니다. 조각은 활동의 일부이며 해당 활동에 자체 UI를 제공합니다.
  2. 태블릿의 경우 또는 모바일이 가로 모드 인 경우 조각을 사용하여 상태 이름을 표시하는 유일한 목록과 같은 두 개의 목록을 표시 할 수 있으며 다른 목록은 단일 활동에서 상태 설명을 표시하지만 활동을 사용하면 동일한 작업을 수행 할 수 없습니다.
  3. 액티비티는 프래그먼트에 의존하지 않지만 프래그먼트는 액티비티에 의존하며 독립적으로 존재할 수 없습니다.
  4. 액티비티에서 조각을 사용하지 않고는 다중 창 UI를 만들 수 없습니다. 그러나 단일 활동에서 여러 조각을 사용하여 다중 창 UI를 만들 수 있습니다.
  5. Activity 만 사용하여 프로젝트를 만들면 관리하기 어렵지만 Fragment를 사용하면 프로젝트 구조가 좋으며 쉽게 처리 할 수 ​​있습니다.
  6. 활동에는 0 개 또는 여러 개의 조각이 포함될 수 있습니다. 조각은 여러 활동에서 재사용 될 수 있으므로 활동에서 재사용 가능한 구성 요소처럼 작동합니다.
  7. 활동에는 자체 라이프 사이클이 있지만 조각에는 자체 라이프 사이클이 있습니다.
  8. 활동의 경우 Manifest에서 언급해야하지만 조각의 경우에는 필요하지 않습니다.
  9. 활동은 많은 메모리를 사용하고 조각은 메모리가 사용되지 않습니다.
  10. 활동은 가벼운 무게가 아닙니다. 조각은 가벼운 무게입니다.

좋은 설명입니다.
Abhishek kumar

누군가 # 10에 대해 자세히 설명 할 수 있습니까? 활동에 비해 조각을 가볍게 만드는 것은 무엇입니까?
dazzieta

# 7은 말이 안
돼요

23

안드로이드 개발자 문서에 따르면 수명주기의 조각과 활동의 차이.

문서 링크 http://developer.android.com/guide/components/fragments.html#Lifecycle

액티비티와 프래그먼트 간의 수명주기에서 가장 중요한 차이점은 각각의 백 스택에 저장되는 방식입니다. 활동은 기본적으로 중지 될 때 시스템에서 관리하는 활동의 백 스택에 배치됩니다 (작업 및 백 스택에서 설명한대로 사용자가 뒤로 단추를 사용하여 다시 탐색 할 수 있도록). 그러나 조각을 제거하는 트랜잭션 중에 addToBackStack ()을 호출하여 인스턴스를 저장하도록 명시 적으로 요청한 경우에만 조각이 호스트 활동에서 관리하는 백 스택에 배치됩니다.

그렇지 않으면 조각 수명주기를 관리하는 것은 활동 수명주기를 관리하는 것과 매우 유사합니다. 따라서 활동 수명주기를 관리하는 동일한 방법이 프래그먼트에도 적용됩니다. 하지만 이해해야 할 것은 활동의 수명이 단편의 수명에 어떻게 영향을 미치는지입니다.

및 다중 창 레이아웃에 당신은 사용이 fragment당신이 달성 할 수 있음 activity.


20

활동은 사용자가 상호 작용할 수있는 응용 프로그램의 UI이고 Fragment는 활동의 일부이며 활동 라이프 사이클과 병렬로 실행되는 자체 라이프 사이클을 갖는 활동 내부의 하위 활동입니다.

Activity LifeCycle                           Fragment LifeCycle
onCreate()                                     onAttach()
    |                                              |
onStart()______onRestart()                     onCreate()
    |             |                                |
onResume()        |                            onCreateView()
    |             |                                |
onPause()         |                            onActivityCreated()
    |             |                                |
onStop()__________|                             onStart()
    |                                              |
onDestroy()                                    onResume()
                                                   |
                                                onPause()
                                                   |
                                                onStop()
                                                   |
                                              onDestroyView()
                                                   |
                                               onDestroy()
                                                   |
                                               onDetach()

5

활동
1. 활동은 Android 플랫폼에서 앱의 기본 구성 요소 중 하나입니다. 사용자와 앱 간의 상호 작용을위한 진입 점 역할을하며 사용자가 앱 내에서 또는 앱 사이를 탐색하는 방법의 중심이기도합니다
. 2. 수명주기 메서드는 OS에서 호스팅됩니다.
3. 활동 라이프 사이클

프래그먼트
1. 프래그먼트는 활동에서 동작 또는 사용자 인터페이스의 일부를 나타냅니다. 단일 활동에서 여러 조각을 결합하여 다중 창 UI를 빌드하고 여러 활동에서 조각을 재사용 할 수 있습니다. 프래그먼트는 자체 라이프 사이클이 있고 자체 입력 이벤트를 수신하며 활동이 실행되는 동안 추가 또는 제거 할 수있는 활동의 모듈 식 섹션으로 생각할 수 있습니다.
2.에서 호스팅하는 수명주기 메서드는 호스팅 활동에 의해 호스팅됩니다.
3. 조각의 수명주기

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.