Android片段有多少开销?

时间:2016-02-25 19:34:09

标签: java android performance android-fragments android-lifecycle

在Android领域,Fragments了解Android生命周期,并且在重新创建活动时不会被销毁。因此,我看到人们使用空片段来解决Android生命周期中的问题,破坏对后台任务的引用,并防止与保持对活动的引用相关的泄漏。

我想知道使用Fragments作为后台任务挂钩有多少开销?我认为Android决定不销毁片段,因为它们的重建成本很高(可能是错误的)。

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

2 个答案:

答案 0 :(得分:1)

你不应该使用无头片段'背景工作。

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

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

答案 1 :(得分:1)

使用Fragment来保持任务活着! 这比使用更有害。

如果您的任务运行时间足够长,您必须担心它们是否会被杀死,请在Service中运行它们。

这正是Service(或Loader)的用途。 Fragment应代表您布局的一部分,而不是无头使用。

如果存在有效的解决方案,没有理由不知道。