6

使用 Java ME 我遇到了以下问题:

项目构建后,项目中的所有类(包括匿名类)都转换为单独的文件。这导致应用程序大小的增加,因为每个单独的文件在组装包中不小于 1 KB。

这个问题在 J2ME 中尤其严重,因为应用程序的大小非常重要。

我的问题是:

  1. 有没有办法解决这个问题?
  2. 是否可以使用特定的方法来减小应用程序的大小?
4

2 回答 2

5

您的目标是哪些设备?几年前,这在旧设备上曾经是一个问题,但除非您的 MIDlet 真的很大,否则这些天您应该不会有太多问题。您是否真的遇到过问题,或者您是否正在寻求有关如何在未来预防它的建议?

您可以使用Proguard混淆和减少编译的类大小。

于 2012-07-09T10:42:45.377 回答
1

所以 Proguard 做得很好,已经从你的最终 Jar 文件中削减了 300K。它可以做得更多吗?也许。您使用了哪些设置?我总是至少:

  • defaultpackage="",所有混淆的类都移动到默认包
  • 多个字段和方法可以取同名,只要它们的参数和返回类型不同
  • optimizationpasses="3",要执行的优化遍数。这可能因一个应用程序而异。检查最终的罐子大小,当它没有进一步缩小时,停止增加这个值。
但是你的 jar 文件不太可能下降到你只需要 proguard 所需的 256kb。

当您说您的媒体文件已经被压缩时,您是否在将它们添加到 lwuit 之前使用了类似PNGGauntlet 的东西?

于 2012-07-09T18:04:05.037 回答