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

一个活动--多个碎片还是多个活动--多个碎片?

陈功
2023-03-14

我读过很多关于这方面的文章,但也有2012年或更早的文章。

(我只是打算从数据库中读取和插入一些数据。)

共有1个答案

羊新翰
2023-03-14

根据我的经验,我宁愿有多个活动与许多片段。如果您使用单个活动,您将发现管理活动生命周期中的片段越来越困难。

例如,如果活动被破坏(例如,如果手机内存不足,用户收到电话,或者您调用意图打开相机),当意图被重新创建时,您将需要处理重新创建片段及其状态。

对于一个单一的活动,如果不小心处理,这很快就会变成一场噩梦。有了多个活动,它更容易管理,并有助于分割应用程序的各个部分--也更容易调试。

简单的东西如何通过一个活动变得复杂的例子是后退按钮之类的东西。

如果您需要对不同的片段进行不同的处理,这意味着您的活动需要满足当前可见的片段,因为活动重写的是backbutton,而不是片段。这也可能意味着您需要添加接口来通知后退按钮按下的片段。

然而,尽管所有这些,但还是有一些应用程序从一个单一的活动中受益。例如,如果您有一个查看页来浏览片段(例如一本书的页面)或几乎没有交互的片段,那么单个活动可能是有益的。

 类似资料:
  • 我一直在看谷歌Android架构的MVP与匕首2的例子: https://github.com/googlesamples/android-architecture/blob/todo-mvp-dagger/todoapp/app/src/main/java/com/example/android/architecture/blueprents/todoapp/tasksactivity.java

  • 在我的应用程序中,我使用了一个活动和两个片段。该应用程序使用带有容器的布局,因此片段是通过事务添加的。第一个片段包含列表视图,另一个片段包含列表视图项的详细视图。两个片段都使用setRetainInstance(true)。片段是通过替换事务添加的,并设置了addToBackStack(null)。列表片段包含一个实例变量,其中包含列表的一些信息。现在我正在切换到详细并按回,实例变量为null。我

  • 我已经读过一些关于动画片和多个消费者的问题,但我仍然不明白它是如何工作的。 我的用例:我有一个只有一个分片的运动流。我想使用不同的lambda函数使用这个分片,每个函数都独立。就像每个lambda函数都有自己的分片迭代器一样。 有可能吗?是否设置多个lambda使用者(基于流)从同一流/碎片读取?

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

  • 我正在以每秒350次的速度向DynamoDB表写入数据。我已经在其上启用了流,并配置了多个消费者来读取每个碎片。每个消费者只能处理100条记录/秒,这意味着我需要至少4个消费者处理流。问题是,当写入数/秒增加时,DynamoDB不会创建多个碎片。想知道DynamoDB在什么时候开始创建多个碎片(写入数/秒的值) 我曾尝试在每秒100到350次写入之间写入表 如何触发多个碎片,从文档中可以看出,没有

  • 我正在创建一个带有操作栏的应用程序,这些选项卡会转到不同的网页。当用户点击一个不同的选项卡时,我希望以前的选项卡网页保持在相同的状态(即当再次按下该选项卡时不重新加载)。 做这件事最好的方法是什么?单独的活动?碎片?一个activity有多个网页视图? 谢谢