圧縮原理
携帯 Java アプリは、一般的に複数のモジュール ( Java では「クラス」と呼ぶ ) から構成されます。
各モジュールは「データの部分」とそのデータを操作する「プログラムの部分」の二つに大きく分類することができます。
SophiaCompress(Java) OASIS は左の図のような圧縮原理で、 Java プログラムを実行形式のまま最適化し、最小化します。 また、圧縮に伴う ADF ファイル( Doja の JAM ファイルや MIDP の JAD ファイルなど) の変更やプリベリファイも、一連の圧縮作業として自動的に行います。
|
クラス融合
クラス融合とは、二つ以上の Java のクラスファイルを、全部の機能をあわせ持った一つのクラスファイルに統合する機能です。 それぞれのクラスファイルの持つ情報を共有することができるため、融合されるクラスの数が多ければ多いほど高い圧縮率が期待できます。 携帯 Java アプリが大容量化される背景にあって、この機能は有効です。 |
インストラクション最適化
インストラクションとは、プログラムをコンパイルした後の命令列のことです。 インストラクションの最適化とは、プログラム命令群を、より小さなサイズになるような同等のプログラム命令群に置き換えることで、クラスファイルのサイズを小さくする機能です。 【インストラクション最適化機能の詳細】
|
データ最適化
データ最適化とは JAR ファイルのデータ領域の無駄な情報を削除、または共有することでサイズを最小化する機能です。 |