当前位置: 首页 > 知识库问答 >
问题:

我应该用碎片代替Android活动吗?

东典
2023-03-14

我有一个大型Android游戏,其中每个逻辑屏幕都有一个活动。(启动画面、开始画面、关卡选择器、游戏画面和设置是不同的活动)。现在一切正常。

如果我重写所有内容,使得只有一个活动,逻辑屏幕是碎片,会减少RAM或CPU消耗吗?

共有1个答案

冷英光
2023-03-14

在说了几年(两+)“碎片是要走的路”之后,我再也不会用碎片来代替活动了。

使用碎片来重复使用某些部件是很好的。为对话框使用片段也是不错的,但是我现在已经意识到片段实现是多么糟糕,片段生命周期是多么糟糕,在某些情况下FragmentManager是多么不可预测(和错误)。继续,花点时间搜索一下,你会发现所有的“边缘但不是那么边缘”的情况,在这些情况下,必须实施黑客来解决“按设计”的错误行为。

有时你不得不从Android源代码中扩展或复制这些类的源代码来修改一个私有或受保护的字段…

 类似资料:
  • 由于不推荐使用TabActivity,我需要找到一种方法来使用片段。在我知道它如何工作之前,我已经使用了碎片,但我需要一个指南来创建我的标签主机与碎片活动。我在互联网上找到了几个例子,它们都是关于将片段放入标签的容器中的。

  • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

  • 我是Android新手。我想建立一个标签格式的应用程序。我找到了许多使用了活动的文档。在许多情况下,还使用了碎片活动。我不确定从哪一个开始更好。请建议我是否应该使用或以选项卡格式开始开发?

  • 我一直对此感到沮丧,也找不到好的答案,所以希望这里有人能提供指导。 我有一个片段相当广泛地使用了。片段调用(返回null)时,我经常受到错误的困扰。我假设发生这些情况是因为在附加活动之前或分离活动之后调用了片段中的某些方法。 在我的代码中处理这个问题的正确方法是什么?我不想让这个成语到处乱扔, 一些人建议在暂停时取消任务,但这意味着标准习惯用语, 无法使用。这意味着每个执行的都需要跟踪到完成或取消