我无法找到有关为什么在包中使用较短的名称或使用未命名的包(默认包)实际上使jar大小更小的信息。为什么使用未命名软件包或更小的软件包名称会使Jar变小?
我读过混淆器去掉未使用的类,并将其余的名称缩小并减小jar的大小。我实际上已经试过了我的自我,并且通过在我的一个应用程序中使用未命名的软件包,我的文件大小减少了1.2%。但是我找不到任何值得信赖的信息。我只能假设这是因为长名称引入的开销。不过,我会很感激有关如何证明这一点的任何提示。
最初我是从这个文件的想法:http://carfield.com.hk/document/java/articles/Efficient_MIDP_Programming.pdf
这真的没有解释为什么虽然。
你要买什么,如果不是*“的开销很长的名字引入了” *? – 2013-05-02 15:12:06
实际上,这很简单:所有对类的引用都是使用完全限定的名称(即package + name)完成的。尽管每个类文件名只会在每个类文件中存储一次,但它被引用,具有较短的名称(即较少的数据字节)将叠加在许多类上。 'x.a'是3个字节,而'com.mycompany.product.client.android.MyFancyViewComponent'是...更多(懒得数)。 – 2013-05-02 15:12:51
@dystroy我不知道在哪里添加开销。@ JoachimSauer好的谢谢,所以这个com.mycompany.product.client.android.MyFancyViewComponent发生在每一个对象? – 2013-05-02 16:33:06