使用具有复杂NavigationDrawer组件的活动而不是碎片时的性能改进



每次单击导航菜单都有5个复杂的片段。然而,我不确定是否应该使用活动而不是碎片,因为我所有的碎片都非常复杂和昂贵。

由于它们都是片段,因此它们也在ONE Activity上运行。

我现在的问题是,我会从使用活动而不是碎片中受益吗?

我确实知道碎片和活动的区别。我只是不确定我是应该将所有复杂的片段存储在一个活动中,还是只使用多个活动而不是导航绘图中的片段。我害怕所有的碎片都会消耗太多的资源

非常感谢。

这不是专家的回应,但从视觉上看,我从未见过碎片的表现比Activities更好或更差。我还有一个导航抽屉,里面有活动和碎片。同时,如果你需要传递信息,写Fragments比Activities更容易,这对Fragments来说是一个巨大的胜利。如果您的应用程序滞后,最好考虑以下几点:

  • 不要在UI线程上运行任何昂贵的操作。例如数据库查询、互联网调用、填充长ListviewsRecyclerViews。为此使用AsyncTask

  • 避免非常复杂的嵌套布局。如果可能,请使用ConstraintLayout,它允许您在没有嵌套布局的情况下任意放置项目。

  • 如果用户必须等待,请使用适当的动画。这比盯着冻结的屏幕更有收获。

  • 对照谷歌的最佳性能实践检查您的代码。

如果您的应用程序速度越来越慢,请发布您的代码并更详细地描述问题。