Я пишу живые обои, в которых используется несколько дорожек. Я масштабирую эти пути в конструкторе формы, используя матрицу.Path.transform применяется несколько раз
this.path = pathCoords;
this.path.transform(Scale.getMatrix());
Вот как я масштабировать матрицу в классе Масштаб:
public static void setMatrix(DisplayMetrics mDisplayMetrics) {
matrix.postScale((float) mDisplayMetrics.widthPixels/540f,
(float) mDisplayMetrics.heightPixels/960f);
}
Теперь живые обои загружает только штрафом в предварительном просмотре, но когда я установить его в качестве обоев, путь появляется в масштабе вниз опять. На самом деле, я могу воспроизвести его, возможно, еще 3 раза, каждый раз, когда путь еще больше сокращается. В конце он падает с:
E/AndroidRuntime(32434): java.lang.OutOfMemoryError
Что я делаю неправильно? В чем причина такого поведения?
Заранее благодарен!