活动和片段之间有什么区别?
根据我的研究,后台的概念和它们是如何存在有一个重大的不同:
活动::
-
当
activity
放置到activities
的后台时,用户只需按下back
button即可导航回前一个活动。 -
Activity
可以独立存在。
分段::
-
当一个
fragment
被放置到活动中时,我们必须通过在fragment
transaction
调用addToBackstack()
来请求保存实例。 -
Fragment
必须在活动内部生存
还有其他的区别吗?
这是两个完全不同的东西:
Activity是一个应用程序组件,提供一个屏幕,用户可以通过该屏幕进行交互以执行某些操作。 更多细节: http : //developer.android.com/guide/components/activities.html
而片段表示活动中的行为或用户界面的一部分。 http://developer.android.com/guide/components/fragments.html
-
片段是一个活动的一部分,它为该活动贡献了自己的用户界面。 片段可以被认为是一个子活动,用户与之交互的完整屏幕称为活动。 一个活动可以包含多个片段。 片段大多是活动的一部分。
-
根据屏幕大小,一个活动可能包含0或多个片段。 一个片段可以在多个活动中重用,所以它在活动中就像一个可重用的组件。
-
一个片段不能独立存在。 它应该总是一个活动的一部分,而活动可以存在而没有任何碎片。
根据android开发人员的文档,他们的生命周期片段和活动之间的差异。
Doc链接http://developer.android.com/guide/components/fragments.html#Lifecycle
活动和片段之间生命周期中最显着的区别是如何将其存储在各自的后端堆栈中。 一个活动放置在系统停止时由系统pipe理的活动的后退堆栈中,以便用户可以使用后退button返回到活动,如“任务”和“返回堆栈”中所述。 但是,只有在删除片段的事务中通过调用addToBackStack()明确请求保存实例时,才会将片段放入由宿主活动pipe理的后端堆栈中。
否则,pipe理片段生命周期与pipe理活动生命周期非常相似。 因此,pipe理活动生命周期的相同做法也适用于碎片。 然而,你也需要了解的是,活动的生命如何影响片段的生命。
对于多窗格布局,您必须使用无法通过activity
实现的fragment
。
Activity是用户可以通过其进行交互的应用程序的UI,而Fragment是Activity的一部分,它是活动内部的一个子活动,具有与活动生命周期平行的其生命周期。
Activity LifeCycle Fragment LifeCycle onCreate() onAttach() | | onStart()______onRestart() onCreate() | | | onResume() | onCreateView() | | | onPause() | onActivityCreated() | | | onStop()__________| onStart() | | onDestroy() onResume() | onPause() | onStop() | onDestroyView() | onDestroy() | onDetach()
活动
1.活动是Android平台上应用程序的基本构build块之一。 它们是用户与应用程序交互的切入点,也是用户在应用程序内或应用程序之间导航的核心
2.生命周期方法由OS托pipe。
3. 活动的生命周期
片段
1.片段表示活动中的行为或用户界面的一部分。 您可以在单个活动中组合多个片段来构build多个窗格的UI,并在多个活动中重复使用一个片段。 您可以将一个片段视为一个活动的模块化部分,该活动有其自己的生命周期,接收自己的input事件以及在活动运行时可以添加或删除的活动。
2.生命周期方法由托pipe活动托pipe。
3. 片段的生命周期
Activity
与Fragment
之间的主要差异
- Activity是一个应用程序组件,它提供用户可以在其中进行交互的用户界面 片段是一个活动的一部分,它为自己的活动贡献了自己的用户界面。
- 对于平板电脑或者如果手机在风景中,然后使用片段,我们可以显示两个列表,如列表显示状态名称和其他列表将显示单个活动中的状态描述,但使用活动,我们不能做同样的事情。
- 活动不依赖于fragment.but碎片依赖于Activity,它不能独立存在。
- 在Activity中不使用片段,我们不能创build多窗格的UI。但是在单个活动中使用多个片段,我们可以创build多窗格的UI。
- 如果我们只使用Activity创build项目,那么它很难pipe理,但如果我们使用碎片,那么项目结构将是好的,我们可以轻松处理。
- 一个活动可能包含0或多个片段。 一个片段可以在多个活动中重用,所以它的行为就像活动中的可重用组件。
- 活动有自己的生命周期,但片段有自己的生命周期。
- 对于活动,我们必须在Manifest中提及,但对于不需要的片段。