根据我的研究,backstack的概念及其存在方式存在显着差异:
活动
将
activity
放到的位置backstack
后activities
,用户只需按一下back
按钮即可导航回到上一个活动。Activity
可以独立存在。
分段
将an
fragment
放置到活动中后,我们必须通过addToBackstack()
在期间调用来请求保存实例fragment
transaction
。Fragment
必须住在里面activity
还有其他区别吗?
根据我的研究,backstack的概念及其存在方式存在显着差异:
将activity
放到的位置backstack
后activities
,用户只需按一下back
按钮即可导航回到上一个活动。
Activity
可以独立存在。
将anfragment
放置到活动中后,我们必须通过addToBackstack()
在期间调用来请求保存实例fragment
transaction
。
Fragment
必须住在里面 activity
还有其他区别吗?
Answers:
这是完全不同的两件事:
活动是提供屏幕的应用程序组件,用户可以与之交互以执行某项操作。更多详细信息:http : //developer.android.com/guide/components/activities.html
片段表示活动中的行为或用户界面的一部分。 http://developer.android.com/guide/components/fragments.html
活动和片段之间的主要区别
根据android开发人员文档,片段和活动生命周期之间的差异。
Doc链接http://developer.android.com/guide/components/fragments.html#Lifecycle
活动和片段之间在生命周期上最显着的区别是,活动是如何存储在其各自的后堆栈中的。默认情况下,将活动置于活动停止的活动的后堆栈中,该活动由系统在系统停止时进行管理(以便用户可以使用“后退”按钮导航回该活动,如“任务和后堆栈”中所述)。但是,只有在删除碎片的事务期间通过调用addToBackStack()显式请求保存实例时,才会将碎片放入由主机活动管理的后台堆栈中。
否则,管理片段生命周期与管理活动生命周期非常相似。因此,用于管理活动生命周期的相同做法也适用于片段。但是,您还需要了解的是活动的寿命如何影响片段的寿命。
&对于多窗格布局,您必须使用fragment
无法使用的布局activity
。
活动是用户可以通过其进行交互的应用程序的UI,而Fragment是活动的一部分,它是活动内部的子活动,它具有自己的生命周期,该生命周期与活动生命周期平行。
Activity LifeCycle Fragment LifeCycle
onCreate() onAttach()
| |
onStart()______onRestart() onCreate()
| | |
onResume() | onCreateView()
| | |
onPause() | onActivityCreated()
| | |
onStop()__________| onStart()
| |
onDestroy() onResume()
|
onPause()
|
onStop()
|
onDestroyView()
|
onDestroy()
|
onDetach()