【问题标题】:Android Best Practice In Navigating To Another Activity导航到另一个活动的 Android 最佳实践
【发布时间】:2015-03-24 13:36:19
【问题描述】:

调用finish()更好吗?在调用意图导航到另一个活动之前,或者只是调用意图。还要注意如果使用向上导航哪种方式更好

谢谢

【问题讨论】:

    标签: android android-intent android-activity android-manifest


    【解决方案1】:

    当你需要关闭当前的Activity并启动新的Activity时你需要调用finish()

    但每当您不需要关闭当前活动并开始新活动时。那么你就不需要调用finish()了。

    当您不致电 finish() 时。您可以从新 Activity 访问相同的 Activity。

    我不认为一个更好,另一个不是。我们可以根据需要同时使用两者。

    注意:如果你不调用finish(),那么你不需要再次创建Activity。从新活动回来。所以它更快。

    【讨论】:

    • 不再创建活动,您的意思是不必重新调用开始活动?
    • 是的,您不需要使用意图。只需完成()新的,它就会回来。
    【解决方案2】:

    一切都取决于您想要的用户体验。默认情况下,Activitys 按照用户导航它们的顺序留在后台。所以当他回击时,他又回到了之前的Activity。如果他按下 HOME 按钮并稍后再次重新启动应用程序,应用程序将以他上次中断的相同 Activity 开始。为每个Activity 调用finish() 将颠覆这种行为。

    您可以通过多种方式自定义后台堆栈和历史记录行为。看看以下链接:

    1. Activity tags in App Manifest。 (launchMode 在这里特别有趣)。

    2. Tasks and Back Stack.

    【讨论】:

    • @user1950784:虽然我认为我的回答比Amsheer的回答要好:)
    • 我之前看到了答案,这就是为什么,但我确实支持你:p
    • @user1950784:此答案应标记为正确。它比 Amsheer 的回答更相关,提供更多有用的信息...... :)
    【解决方案3】:

    还要注意如果使用向上导航哪种方式更好

    虽然 Amsheer 的答案很好,但我想补充一下您的上述陈述,那就是肯定的。如果您使用向上导航,从用户体验的角度来看,它会更方便。您可以设置导航抽屉并从一个片段移动到另一个片段,这看起来比从一个活动到另一个活动更好。

    请记住,我说的是用户视角,我并不是说从一项活动转移到另一项活动是不好的。但是使用导航抽屉从一个片段导航到另一个片段看起来很棒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 2019-12-17
      • 2020-01-09
      • 1970-01-01
      • 2012-03-23
      相关资源
      最近更新 更多