如何选择安卓ui容器?activity or fragment?

安卓设计,选择活动还是碎片?

最近在设计一个指导搜索引擎优化的安卓app,其主要功能是从主页点击“SEO Step”按钮,用户可以看到一列cardview,每一个card代表一个seo步骤。然后用户点击任意card之后,再跳转到下一个页面,便能看到该步骤的具体介绍。

最初设计的所有页面都是用fragment展示的,为的是方便用户通过底部导航能随时回到主页面,但是在做home back 按钮的返回功能时,发现这样的返回方式并不够合理。然后我打开微信等其他软件观察了一下,发现并没有什么软件是把所有功能都放在fragment里的,难道也都是为了返回功能的逻辑的合理性而设计么?虽然我实在缺乏经验,不知道别人的设计初衷,但是大家共性的选择一定是具有学习意义的,所以我打算更改我的软件设计。

但是动手之前,还是先看看别人是如何理解活动和碎片之间的差异。我阅读的第一篇文章是Activities or Fragments? A little sharing(From: Mobile App Development)[1]. 这篇文章介绍道,碎片最初的设计初衷是满足平板等大屏幕设备的需求,可以将屏幕分割成不同板块,更高效的展示信息。而对于手机而言,可以通过滑动等操作尽兴碎片的切换。碎片其实就是活动的一个模块,他的生命周期依附于活动的生命周期。
如何选择安卓ui容器?activity or fragment?
对于多选项的导航,碎片是更便捷的选择,否则对于每一个活动,我们都得设计完全一样的导航。但是文章里并没有提到对于每个碎片中链接的新ui, 该如何进行容器的选择。目前而言,我只是出于对返回键效果的考量,认为活动更加贴合用户的期待。等我改好设计后,对比目前的版本,再跟大家分享我的理解。

Reference:
[1]: https://medium.com/mobile-app-development-publication/activities-or-fragments-a-little-sharing-c1ddc1041f79