为什么使用未命名的软件包或更小的软件包名称会使Jar更小?

时间:2013-05-02 15:10:23

标签: java java-me package naming midp

我无法找到很多关于为什么在包上使用较短名称或使用未命名包(默认包)实际上使jar大小变小的信息。

我已经读过混淆器去除未使用的类并使剩下的类的名称变小,这会减小jar大小。而且我实际上是在尝试自己,在我的一个应用程序中使用未命名的软件包,我的文件大小减少了1.2%。但我无法找到有关为何会发生这种情况的可靠信息。我只能假设它是因为长名称引入的开销。我仍然会感谢任何关于如何证明这一点的提示。

最初我从这份文件中得到了这个想法:http://carfield.com.hk/document/java/articles/Efficient_MIDP_Programming.pdf

但实际上并没有解释原因。

1 个答案:

答案 0 :(得分:1)

Jar文件是具有另一个扩展名的Zip文件和名为META-INF的特殊(和可选)文件夹。对于每个文件或文件夹,都有一个标题关联。由于标题占用了jar的一些空间,你最好保留较少的文件,但是如果你已经把它放在最低限度,那么将所有这些文件保存在根目录中。

对于MIDlet分发,jar文件必须具有META-INF文件夹,因此,为了最佳空间使用,您的jar文件应该只有此文件夹。您的MIDlet和所有其他类应该在默认包中。与资源文件相同,将所有文件保留在文件根目录。

http://smallandadaptive.blogspot.com.br/2008/09/keep-it-flat.html

所示