Android开发者建议尽量不使用Fragment

一、Fragment的优劣

  • 优点
    • 可以对手机和平板分别适配。
    • 将生命周期交给系统管理。
  • 缺点
    • 将生命周期交给系统管理。

对,你没看错,将生命周期交给系统管理在开发者不需要关注太多Fragment的生命周期时,这是非常方便的。但当开发者需要精确控制Fragment时,开发成本大大提高。

二、解决方案

经过上述讨论,关键点无非在于开发者是否需要精确控制一个界面的生命周期。
即使不需要精确控制生命周期,使用Fragment也会存在系统级别的Bug,并不建议使用。

生命周期无非是一个返回栈和场景切换操作,而场景用View即可实现。Activity最好只负责分发生命周期事件,返回栈和切换场景操作交由一个Controler管理,不同场景自身逻辑自己实现。这样,既把各自职责厘清,亦方便解耦和复用。

三、参考资料