我开始进行Android项目时有一个误解,即每个显示在应用程序中的屏幕都必须是一个新的活动。现在我已经完成了这个项目,并在模拟器和几部Android手机上进行了测试。到目前为止,我没有遇到任何问题,但最近我在某个地方读到说,在应用程序中有太多活动是一个相当糟糕的想法。
目前我的应用程序大约有15-20个活动。理想情况下,我听说应该只有5-6个。我需要重构我的代码,还是只需在每个活动完成它的部分后结束即可?
我开始进行Android项目时有一个误解,即每个显示在应用程序中的屏幕都必须是一个新的活动。现在我已经完成了这个项目,并在模拟器和几部Android手机上进行了测试。到目前为止,我没有遇到任何问题,但最近我在某个地方读到说,在应用程序中有太多活动是一个相当糟糕的想法。
目前我的应用程序大约有15-20个活动。理想情况下,我听说应该只有5-6个。我需要重构我的代码,还是只需在每个活动完成它的部分后结束即可?
在创建复杂应用程序时,您肯定需要创建许多活动。因此,您的应用程序需要多少个活动取决于它的要求。项目中的活动数量不会影响性能。
影响性能的是您的Android堆栈中活动的数量。因此,最好将5-6个活动保留在堆栈中(如果不再需要,请完成相应的活动)。
因此,根据您的应用程序需求创建尽可能多的活动,但同时只保持较少数量的活动处于打开状态。
android:noHistory="true"
示例:
Activity1 -> Activity2 -> Activity3 -> Activity4..................-> Activity20
activity android:name=".Activity1" android:label="@string/app_name" android:noHistory="true"
Activity
...旧的Activity
由系统管理并在系统需要为新进程腾出内存时销毁。用户体验。您的应用程序是否真的需要15-20个Activity
?您能否以某种方式减少屏幕数量?通常情况下,较少的Activity
更好,因为它在用户导航应用程序时需要较少的交互。
代码设计。虽然每个Activity
都有自己单独的类,但这并不限制您在实现应用程序时进行智能设计决策。例如,您可以尝试通过让它们扩展一个abstract class
来将相似的Activity
分组。随着Android项目规模的增长,它们变得越来越难以管理。以这种方式在相似的类之间共享代码将确保您可以轻松地对应用程序的核心进行简单的更改。
使用片段比活动更好。我们可以在单个活动中使用多个片段,因此我们应该始终考虑使用片段。我见过具有5-6个活动和150多个片段的复杂应用程序。