- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在开发使用 Activity
和 Fragment
的新应用程序。它们之间有什么主要区别吗??
我在 Android 文档中找到了我想要的好答案。
文档描述
The most significant difference in lifecycle between an activity and a fragment is how one is stored in its respective back stack. An activity is placed into a back stack of activities that's managed by the system when it's stopped, by default (so that the user can navigate back to it with the Back button, as discussed in Tasks and Back Stack). However, a fragment is placed into a back stack managed by the host activity only when you explicitly request that the instance be saved by calling addToBackStack() during a transaction that removes the fragment.
主机 Activity
是否保留与其关联的不同 Fragment
的不同回栈以及单个应用程序保留多个堆栈的任何场景。 ??
最佳答案
Differences between Activity and Fragment lifecyle in Android
Fragment 是 Activity 的一部分,它为该 Activity 贡献自己的 UI。 fragment 可以被认为是一个子 Activity 。 fragment 用于有效利用更宽屏幕设备中的空间。
根据屏幕大小,一个 Activity 可能包含 0 个或多个 fragment 。一个 fragment 可以在多个 Activity 中重用,因此它就像 Activity 中的可重用组件。
fragment 不能独立存在。它应该始终是 Activity 的一部分。 Activity 可以在没有任何 fragment 的情况下存在。
fragment 生命周期比 Activity 生命周期更复杂,因为它有更多状态。生命周期状态如下图:
onInflate
在 fragment 生命的最开始,方法 onInflate 被调用。在这种方法中,我们可以在 XML 布局文件中保存一些配置参数和一些属性。
onAttach
在这一步之后 onAttach 被调用。只要 fragment “附加”到“父” Activity ,就会调用此方法,我们可以使用此方法存储有关 Activity 的引用。
onCreate
这是最重要的步骤之一,我们的 fragment 正处于创建过程中。此方法可用于启动某个线程以检索数据信息,可能来自远程服务器。 onCreateView 是在 fragment 必须创建其 View 层次结构时调用的方法。在此方法中,我们将在 fragment 内扩展我们的布局。
在这个阶段,我们不能确定我们的 Activity 是否仍然被创建,所以我们不能指望它进行一些操作。当“父亲” Activity 在 onActivityCreated 中创建并准备就绪时,我们会收到通知。
从现在开始,我们的 Activity 处于 Activity 状态并已创建,我们可以在需要时使用它。
onStart
下一步是onStart方法。在这里,我们像在 Activity onStart 中一样做一些常见的事情,在这个阶段我们的 fragment 是可见的,但它仍然没有与用户交互。
onResume
当 fragment 准备好与用户交互时,调用 onResume。
然后可能会发生 Activity 暂停,因此会调用 Activity 的 onPause。那么 onPause fragment 方法也被调用了。
之后,操作系统可能决定销毁我们的 fragment View ,因此调用 onDestroyView。之后,如果系统决定关闭我们的 fragment ,它会调用 onDestroy 方法。
这里我们应该释放所有活跃的连接等等,因为我们的 fragment 快死了。即使是在销毁阶段,它仍然依附于父亲 Activity 。最后一步是将 fragment 从 Activity 中分离出来,它会在调用 onDetach 时发生。
希望你能从中理解。
谢谢。
关于android - Activity 与 fragment 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23004519/
我对 Android 很陌生,如果问题重复,请避免并发送链接。有三个 Activity A、B 和 C。 Activity A 获取一个用户名,我想在 Activity C 中显示该用户名,但我想先运
我正在尝试制作记事本应用程序,因此每次打开新笔记时,布局都会相同。另外, Activity 的数量(新注释)不应定义得尽可能多 最佳答案 如果 Activity 始终相同,您可能应该创建一个适配器,允
我有 3 个 Activity 。 主窗口 5 个按钮 在按钮的主窗口中按下此窗口打开(将其称为父窗口) 在父窗口按钮上按下此窗口打开调用它作为结束子窗口。 现在从子窗口我从父窗口获取值如下:
我遇到了一个 Activity backstack 问题。假设我的后台有 5 个 Activity :比如 Activity A、 Activity B、 Activity C、 Activity D
我正在寻找必须具有以下附加特征的 JMS 提供程序: 采用多代理,所有代理都必须处于事件状态(无单点故障) 仅在两台机器上进行扩展就足以满足我们的需求 能够保证订购(如果 1 个生产者 + 1 个消费
假设,我有一个由 TabHost 组成的选项卡 Activity 。 TabHost 包含 2 个选项卡,每两个选项卡都有一个 Activity 组。每个 Activity 组包含一项 Activit
我正在开发一个应用程序,我需要根据某些操作导航到特定 Activity 。这是一张图片 我的第一个 Activity 是 ReadingActivity。基于某些操作,用户将被带到 NewProjec
我创建了一个与服务器异步通信的应用程序。当应用程序发出服务器请求时,将创建一个带有“正在加载”通知的新对话框( Activity )。主要 Activity 实现了处理服务器响应的方法,我想在主要 A
我想在我的所有应用程序 Activity 中显示相同的选项菜单。我创建了一个实现菜单的通用 Activity ,并且我所有的进一步 Activity 都扩展了它。 问题:当我需要扩展其他特定 Acti
我有四个 Activity ,即 java 文件 - Activity1.java、activity2.java、activity3.java、activity4.java 和 xml 文件 - Ac
我有两个 Activity 。我想将数据从第二个 Activity 发送到上一个 Activity 。第一个 Activity 有自定义 ListView 和 bean 类。当我点击第二个 Activ
根 Activity 是堆栈中当前的第一个 Activity 还是 list 中指定为启动 Activity 的 Activity ? 支持应用程序 P 在启动时启动 Activity A。然后 A
你好 我想知道您在绘制 Activity 图选择“Activity ”时考虑了哪些关键点? 您如何从要建模的问题中选择 Activity ? 谢谢 最佳答案 Activity 图用于对正在开发的系统和
如何从主 Activity 启动 Activity 并在子 Activity 返回主 Activity 中退出操作后返回主 Activity ? 我已将子 Activity 作为启动器 Intent
我的工作流程如下: 登录 Activity -> ActivityB -> ActivityC -> ActivityD 我想将数据从LoginActivity传递到ActivityD,但不直接传递到
我之前曾尝试获得此问题的答案,但找不到可以解决我的问题的答案。我正在制作保存圆盘高尔夫球分数的应用程序。我的 MainActivity 有 4 个按钮。新比赛、恢复比赛、类(class)和球员。 At
我有一个 tts 非 UI 类和 Activity 类。现在在 Activity 类中,我有一个按钮,用户可以从中选择男声或女声,具体取决于我想要将字符串传递给 tts 类的选择,然后一次tts 类根
问题有点复杂,首先, Activity A 和 Activity B 的 list 中都有 android:noHistory = true 。我有一个自定义 serialized 类,假设 MyCl
在我的应用程序中,我有两个 Activity (AuthenticationActivity 和 MainActivity),每个 Activity 都有一个导航图和大量 fragment 。我创建了
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How can i use compose email activity in tabView? 我想在选项
我是一名优秀的程序员,十分优秀!