パスの数を利用するライブ壁紙を書いています。マトリックスを使用して、形状のコンストラクターでこれらのパスをスケーリングします。
this.path = pathCoords;
this.path.transform(Scale.getMatrix());
Scale クラスでマトリックスをスケーリングする方法は次のとおりです。
public static void setMatrix(DisplayMetrics mDisplayMetrics) {
matrix.postScale((float) mDisplayMetrics.widthPixels / 540f,
(float) mDisplayMetrics.heightPixels / 960f);
}
プレビューではライブ壁紙が正常にロードされるようになりましたが、壁紙として設定すると、パスが再び縮小されて表示されます。実際、パスがさらに縮小するたびに、おそらくあと3回再現できます。最後に、次のようにクラッシュします。
E/AndroidRuntime(32434): java.lang.OutOfMemoryError
私は何を間違っていますか?この動作の理由は何ですか?
前もって感謝します!