【发布时间】:2013-05-02 15:10:23
【问题描述】:
我找不到太多关于为什么在包上使用较短的名称或使用未命名的包(默认包)实际上会使 jar 大小更小的信息。
我已经阅读了混淆器会去除未使用的类并使剩余类的名称更小,这会减小 jar 的大小。而且我实际上已经亲自尝试过,通过在我的一个应用程序中使用未命名的包,我的文件大小减少了 1.2%。但我找不到任何关于为什么会发生这种情况的可靠信息。我只能假设这是因为长名称引入的开销。我仍然会很感激有关如何证明这一点的任何提示。
最初我是从这个文档中得到这个想法的:http://carfield.com.hk/document/java/articles/Efficient_MIDP_Programming.pdf
这确实没有解释为什么。
【问题讨论】:
-
如果不是“长名称带来的开销”,您在寻找什么?
-
嗯,实际上很简单:所有对类的引用都是使用它们的完全限定名称(即包+名称)完成的。虽然每个类名只会在每个类文件中存储一次,但它被引用它,具有较短的名称(即更少的数据字节)将在许多类中加起来。
x.a是 3 个字节,而com.mycompany.product.client.android.MyFancyViewComponent是……更多(懒得数)。 -
@dystroy 我不确定在哪里增加了开销。@JoachimSauer 好的,谢谢,所以这个 com.mycompany.product.client.android.MyFancyViewComponent 发生在每个对象上?
标签: java java-me package naming midp