6

Java ME で作業すると、次の問題が発生しました。

プロジェクト内のすべてのクラス (匿名を含む) は、プロジェクトのビルド後に個別のファイルに変換されます。これにより、個々のファイルが組み立てられたパッケージ内で 1 キロバイト以上になるため、アプリケーションのサイズが大きくなります。

この問題は、アプリケーションのサイズが非常に重要な J2ME では特に重要です。

私の質問は次のとおりです。

  1. この問題を回避する方法はありますか?
  2. アプリケーションのサイズを縮小するための特定の方法を使用することは可能ですか?
4

2 に答える 2

5

どのデバイスをターゲットにしていますか?これは何年も前にレガシーデバイスで問題でしたが、MIDletが本当に巨大でない限り、最近はそれほど問題になることはないはずです。実際に問題が発生したことがありますか、それとも将来それを防ぐ方法についてアドバイスを求めていますか?

Proguardを使用して、コンパイルされたクラスサイズを難読化および縮小できます。

于 2012-07-09T10:42:45.377 に答える
1

そのため、Proguard は、最終的な Jar ファイルから 300K をすでに削減しています。それ以上のことができますか?多分。どのような設定を使用しましたか? 私は常に少なくとも次のものを使用します。

  • defaultpackage=""、難読化されたすべてのクラスがデフォルト パッケージに移動されます
  • overloadaggressively="true" の場合、引数と戻り値の型が異なる限り、複数のフィールドとメソッドが同じ名前を取得できます。
  • Optimizationpasses="3"、実行する最適化パスの数。これは、アプリケーションによって異なる場合があります。最終的な jar サイズを確認し、それ以上縮小しない場合は、この値を増やすのをやめます。
しかし、jar ファイルが、proguard でのみ必要な 256kb に落ちる可能性はほとんどありません。

メディア ファイルが既に圧縮されていると言う場合、lwuit に追加する前に PNGGauntletなどを使用しましたか?

于 2012-07-09T18:04:05.037 に答える