我正在编写一个使用多种路径的动态壁纸。我使用矩阵在形状的构造函数中缩放这些路径。
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
我究竟做错了什么?这种行为的原因是什么?
提前致谢!