我正在为Android编写游戏,我担心性能和内存。 Java对许多类来说效果不高吗?
答案 0 :(得分:5)
许多课程影响绩效?
我不这么认为。只有一件事是在启动时将所有类加载到内存(使用较新版本进行优化)会很慢(可忽略不计)。
答案 1 :(得分:0)
它不是你需要担心的课程。更确切地说,它取决于您实例化的对象的数量以及它们被取消引用的频率,因此必须由GC清理。
因此,如果有任何事情需要关注创建和解除引用的对象的数量。
答案 2 :(得分:0)
回到J2ME时代,一些设备的限制为64k jar(例如) - 许多类的使用影响了jar大小,其中一个技巧是减少类的数量。
您将拥有的唯一开销是每个类的类加载。
不确定这是在启动时还是在第一次访问/分配给定类的对象(或以某种方式组合两者)时发生,但这确实不是问题。
答案 3 :(得分:0)
在性能方面,课程数量几乎无关紧要。一般来说,还有许多其他领域通常会对感知表现产生更大的影响(我们在这里讨论的是幅度,而不是百分之几)。
它还取决于您认为许多类的内容。我会考虑> 30K类很多(我在一个有这么多课程的项目中工作过),但是你可能已经考虑了很多1K课程(而且1K什么都没有,真的)。通常,添加另一个10K类(也是使用,注意未加载的类不会显着影响性能)的唯一显着效果是增加几秒的启动时间。
首先关注正确的功能,在达到目标时担心性能。在处理函数时,应该的唯一性能考虑因素是选择合适的数据结构和算法。选择适当的数据结构和有效的algorytms比在类加载区域中削减一小部分百分比具有更大的影响。