Android活动 - 最终课程与否?

时间:2011-11-27 09:11:47

标签: java android performance class final

根据这个SO问题和性能基准

我们可以假设将类定义为public final class对性能更有利。

我们是否应该对Android活动做同样的事情,因为它们通常不用于子类化?

public final class LoginActivity extends Activity { ... }

2 个答案:

答案 0 :(得分:6)

将所有课程设为抽象课程或最终课程通常是一种安全的选择。

这样,很明显是否需要为继承设计类。

如果您后来发现由于某种原因您需要从具体(非抽象)类继承 - 这通常表明您的整体设计存在一些不对称性 - 您仍然可以删除最终关键字和确保你的类适合继承。

通过这样做,您可以消除必须设计所有类继承的浪费,同时您可以获得具有明确意图的可维护代码。

答案 1 :(得分:4)

我从来没有见过任何人,包括谷歌,在代码中这样做。我们被告知Dalvik VM本身已经过高度优化,因此可以遵循这样的做法,即宣布您的Activities决赛不会导致任何明显的性能提升。一个人通常出于性能原因而宣布课程final