【问题标题】:How to Optomize Android Activity with 50k+ code lines如何使用 50k+ 代码行优化 Android Activity
【发布时间】:2020-12-09 22:40:30
【问题描述】:

我开发的第一个 Android 应用程序的一个阶段,主要活动有超过 50k 行代码,作为我的第一个应用程序,我并没有真正注意正确管理我的活动和方法,并且作为一个新项目我决定更正它并组织应用程序代码。

什么是最好的和推荐的方法来做这样的事情?目前我只是将大部分方法转移到实用程序类并在需要时调用它们:ClassA.method(boolean, boolean)。

从实用程序类中使用这么多静态方法是否会对性能产生影响? (我通常在不构造类的情况下调用方法) 有没有更好的方法可以在实用程序类中不使用静态方法?

【问题讨论】:

    标签: java android performance static


    【解决方案1】:

    最好和推荐的方法是什么?

    我的第一反应是考虑重新开始。扔掉当前的烂摊子,从头开始。具有适当的面向对象设计等。

    使用这么多来自实用程序类的静态方法是否会对性能产生影响?

    一般不会对性能产生影响。但是过度使用静力学还有其他问题。

    在实用程序类中没有静态方法有更好的方法吗?

    是的。面向对象的方法,其中功能已被分析并分解到 OO 设计中,然后实现为被实例化和适当使用的 Java 类。这通常还涉及使用 OO 设计模式。


    第一次尝试在新的编程语言或环境中编写大型程序时遇到一些麻烦是很常见的。你正在学习,你很可能会犯大错。

    当您指出它的完成位置并回顾代码时,它可能看起来很糟糕。但问题是,该怎么办。选项有:

    • 别管它。如果它有效,那可能就足够了。你可以给自己做个笔记,以便以后做一些事情。 (有句话可能恰如其分:“你不能擦亮粪便”。)

    • 尝试修复它。除了那是很多工作,而且你修复工作的最终结果可能仍然是相当二流的……对你来说很重要的标准。

    • 扔掉它,重新开始。第二次编写代码通常比第一次更容易和更快。你应该收获“好东西”;即您第一次尝试的想法和可能的一些代码。但要有选择性。


    如上所述,您可能还没有准备好修复代码。正如我所指出的,实现 Java 代码的最佳方式是使用 OO 设计和设计模式。而编写特定 Android 应用程序的最佳方式可能其他事情避免不得不编写大量的 Java 代码。

    如果您还没有学到足够的知识,那么重写您的应用可能为时过早。或者,您可以将重写视为另一个学习练习。

    【讨论】:

    • “一般来说不应该对性能产生影响。但是过度使用静态数据还有其他问题。”还有什么问题?
    • 可测试性...特别是如果您使用有状态的静态方法。静态方法也倾向于通过将功能与对象分离来模糊抽象边界。虽然它们并不总是很糟糕......但实际上,您应该从有关 OO 设计和设计模式的书籍中阅读。
    【解决方案2】:

    在实用程序类中使用组合并不是一个坏主意。仅仅因为你通过另一个类调用它不应该对性能有太大影响。但它的作用是使代码更可维护,因为您可以将代码分成具有高内聚力的单元。

    如果您可以识别出主要活动的一部分有自己的职责(在主要活动的职责之外),您也可以为该功能赋予自己的类,也许尝试弄清楚它是否应该android中的一种组件。

    总体而言,您希望尽可能多地尝试将与主要活动没有任何直接关系的功能分离到其自己的类中,并以某种方式使用该类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 2013-08-27
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2020-07-23
      • 2012-11-22
      相关资源
      最近更新 更多