Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 活动与片段。分离逻辑,使应用程序流畅_Android_Performance_Android Layout_Android Fragments_Android Activity - Fatal编程技术网

Android 活动与片段。分离逻辑,使应用程序流畅

Android 活动与片段。分离逻辑,使应用程序流畅,android,performance,android-layout,android-fragments,android-activity,Android,Performance,Android Layout,Android Fragments,Android Activity,很抱歉再次问这个问题。我已经阅读了所有相关文章,但还没有弄清楚什么更好用,什么时候用。 我的应用程序将成为在线商店本机客户端。 所以我的应用程序中有很多不同的屏幕 第一屏。它将成为大多数在线商店的主屏幕。将有图像滑块,最后的新产品,销售,广告和其他商店常见的东西 第二屏。商店中将有简单的分类列表,没有任何广告、滑块等。仅列表(RecyclerView) 第三屏。将代表产品描述、价格、照片和其他信息 第四屏。登录和注册屏幕,允许用户登录其帐户 本机商店客户端还需要许多其他屏幕。 我对此有一些问题

很抱歉再次问这个问题。我已经阅读了所有相关文章,但还没有弄清楚什么更好用,什么时候用。
我的应用程序将成为在线商店本机客户端。
所以我的应用程序中有很多不同的屏幕

  • 第一屏。它将成为大多数在线商店的主屏幕。将有图像滑块,最后的新产品,销售,广告和其他商店常见的东西
  • 第二屏。商店中将有简单的分类列表,没有任何广告、滑块等。仅列表(RecyclerView)
  • 第三屏。将代表产品描述、价格、照片和其他信息
  • 第四屏。登录和注册屏幕,允许用户登录其帐户
  • 本机商店客户端还需要许多其他屏幕。
    我对此有一些问题

  • 我看了这段视频,演讲者说在他们的应用程序中,除了设置和支付之外,他们只对所有应用程序使用一个活动。因此,它使应用程序更加平滑,响应速度更快,因为碎片比碎片更轻。好的,在这种情况下,我们有基本活动,它应该实现来自片段的所有回调来处理数据,并用另一个片段替换屏幕。
    我们可以使用事件总线来简化回调操作,但还有另一个问题

  • 我的活动布局应该如何构建,它应该有一个片段容器,我们可以用另一个片段替换整个屏幕,或者活动应该包含几个片段。例如,对于每个图像滑块、广告,最后的产品是否使用自己的片段

  • 如果我们将使用一个容器,那么在这种情况下,我们将更改整个屏幕。在这种情况下使用fragment有什么好处吗

  • 如果每个屏幕使用多个片段。我们必须把他们放在父母的家里?在本例中,我们处理的是嵌套片段。在大多数情况下,这样做是不好的做法

  • 或者我们只需要知道屏幕上当前存在的所有片段,以及何时必须更改所有屏幕视图、删除所有旧片段并添加新片段

  • 嵌套片段呢?使用它们是不好的,我必须尽我最大的努力摆脱它们

  • 请解释如何构建应用程序,使其具有响应性,同时使代码模式和最佳实践面向用户。

    提前感谢大家的帮助。

    我尝试了两种方法,每种都尝试了很长一段时间!我认为开发应用程序的两种方法都是完全正确的!我更喜欢片段,主要是因为应用程序看起来和感觉都更流畅,但使用片段可能会给应用程序增加一点复杂性,尤其是在您的第一个项目中。 活动中是否只有一个容器?对因为不管你的应用程序有多复杂,你总是有一些简单的页面,比如关于我们、联系我们等等,而且很可能它们需要全屏大小!因此,您的主要活动应该只有一个容器。 使用嵌套片段是个坏主意吗?不嵌套片段没有错,事实上,正确使用嵌套片段将降低应用程序的复杂性,这是因为您的主要活动不必担心片段中的小细节、转换、导航等。 在一个屏幕中使用多个片段可以吗?再一次是的!这就是碎片的美,你可以随意排列。在屏幕中使用多个片段之前,只需问一个问题。我需要片段还是只需要合并一些视图?!在第二种情况下,您不需要片段,您可以构建一个将一些视图组合在一起的自定义视图。(例如,两个文本视图和一个用于记录屏幕的按钮)。现在,您可以使用logginView来代替登录片段,而不是像其他任何视图一样使用logginView。
    最后要知道的是,使用一个活动会增加内存泄漏(特别是“活动泄漏”)的几率,而当您发生内存泄漏时,查找和处理它将变得更加困难。为什么?因为每个片段都有一个对活动的引用(还记得getActivity方法吗?),所以如果泄漏任何片段,您也会泄漏该活动,因为您的活动包含很多东西,所以您会一起泄漏它们!!而且所有视图都引用了上下文。所以,如果你无意中泄露了一个视图,那么你泄露了所有内容!!所以要非常小心内存泄漏。这里有一篇关于内存泄漏的详细文章

    你能发布“one activity app”视频的链接吗?欢迎来到Stack Overflow!正如一个头脑清醒的人一样,这个问题是一个非常广泛的话题。我强烈建议大家也通读一下:它们都是在提问或回答问题时使用的绝佳资源!关于你可以问什么的细节,你也可以通读一遍