4

RIMコンパイラは、最終的な.codファイルを作成するときに、結果の「.jar」に対して追加の最適化と圧縮を実行しますが、開発者が最終的な.codファイルのサイズを大幅に削減するために実行できることがあります。

そのようなことの1つは、 PNGCrushOptiPNG、または同様のツールを実行して、含まれている.pngファイルのサイズを縮小することです。多数の画像ファイルを含むアプリケーション(カスタムUIを備えたアプリなど)では、これにより、最終的な.codファイルサイズを大幅に削減できます。

最終的な.codファイルのサイズを最適化するためのヒントはありますか?.javaコード自体で何かする必要がありますか?プロジェクト構造で何かする必要がありますか?ファイルまたはリソースに対して何かする必要がありますか?

ありがとう!

4

4 に答える 4

3

良い質問!

  • 大きなbin/txt / xmlファイルをインストールする場合は、圧縮(GZipZLib)が役立つ場合があります。

そしてそれは彼らがRIMで言うことです:

また、興味深い事実

すべての画像はPNG形式でした。理由を知りたい:JDE 4.5-> 900kでコンパイルし、JDE 4.2、2.6.1、4.7->1800kでコンパイルします。違いは何ですか?ありがとう !


JDE 4.5は、古いJDEバージョンよりも多くの最適化手法を使用しているようです。


下の画像を確認してください。これは、55Kpng画像からPngOutによって生成されたものです。サイズは3427バイトです

于 2009-07-22T06:42:53.893 に答える
2

ProGuard(http://sourceforge.net/projects/proguard/)のようなシュリンク(およびオプティマイザー/難読化ツール)を検討することをお勧めします。これにより、完全なクラス名を短縮バージョンに折りたたんだり、未使用のコードを削除したりすることで、Javaコードを縮小できます。その過程で、コードの効率を向上させることができます。それは素晴らしい。唯一の難しい部分は、RIMビルドのものが.codを作成する前に、生成されたクラスファイルを最適化するようにビルドを変更することです。

于 2009-07-22T12:00:14.890 に答える
1

良いアプローチは、すべてのリソースをGZIPしてから、net.rim.device.api.compress.GZIPInputStreamクラスを使用して圧縮ファイルをロードすることです。そうすれば、自分で解凍コードを実装する必要はありません。

また、画像リソースを最適化するためにpngoutを使用できます。

于 2009-07-22T22:28:15.743 に答える
1

可能な場合は、PNG-24ではなくPNG-8を使用してください。パレットの色の数を最小限に抑えるようにしてください。この後、PngOutを使用します。

ProGuardに関しては、Progruardのoptimize feachure( "-dontoptimize"スイッチ)を使用すると古いBBデバイスで問題が発生するため、優れたツールですが、慎重に使用してください。

于 2009-08-08T09:00:23.540 に答える