java - Android Fragment 有多少开销?

标签 java android performance android-fragments android-lifecycle

在 Android 领域,Fragment 了解 Android 生命周期,并且在重新创建 Activity 时不会被销毁。正因为如此,我看到人们使用空 fragment 来解决 Android 生命周期破坏对后台任务的引用的问题,并防止与保留对 Activity 的引用相关的泄漏。

我想知道使用 fragment 作为后台任务的 Hook 有多少开销?我假设 Android 决定不销毁 fragment ,因为重新创建它们的成本很高(可能是错误的)。

奖金问题。有没有办法衡量这个成本? (也许实现替代方法并检查资源利用率)。

最佳答案

您不应将“ headless fragment ”用于后台工作。

正确的方法是使用 LoaderService(或 Intent Service),具体取决于需要加载的工作的持续时间和类型完成。

就开销而言,我认为没有太多。您可以使用这 4 种方法创建 4 个应用程序并根据需要对它们进行分析,但更好的方法是选择一种适用于您要解决的问题的方法。

关于java - Android Fragment 有多少开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636640/

相关文章:

java - JFaces 对话框将大小调整为零行

java - 我正在尝试在 springboot 中进行单元测试,但测试抛出 java.lang.IllegalStateException : Failed to load ApplicationContext

c# - 关闭 SQLiteAsyncConnection

c++ - Arpack++ 稀疏特征求解器比等效的 Matlab eigs() 慢很多倍

php - 输出文件时 "echo" block 有什么好处?

c++ - 在 C++ 中设置变量值之前检查变量是否更好?

java - Spring Data Rest执行查询但返回500内部服务器错误

java - 如何测试字符串中仅包含字母或撇号?

android - 如何通过电子邮件中的自定义 URL 启动我的应用程序

android - 每次接听电话时声音都不一样