У меня есть настраиваемый вид, в котором dr aws фигура с некоторыми частями залитых градиентом цветных контуров / фигур перекрывается (непрозрачно). 1005 * Обработка перекрывающихся цветных пикселей (нижние цвета в той же точке заменены самым верхним цветом) дороже?
Или использование клипа для исключения частей в отрисовке дороже?
Я пытаюсь написать следующее:
canvas.save();
canvas.clipPath(roundHeadPath);
canvas.clipPath(eyePath, Region.Op.DIFFERENCE);
canvas.clipPath(mouthPath, Region.Op.DIFFERENCE);
canvas.drawPath(roundHeadPath, gradientPaint_for_roundHeadPath);
canvas.restore();
canvas.save();
canvas.clipPath(eyePath);
canvas.drawPath(eyePath, gradientPaint_for_eyePath);
canvas.restore();
canvas.save();
canvas.clipPath(mouthPath);
canvas.drawPath(mouthPath, gradientPaint_for_mouthPath);
canvas.restore();
Я пытаюсь нарисовать небольшую фигуру (примерно 50dp x 50dp
~ 100dp x 100dp
) с 8-15 контурами с разными цветами градиента.
Я хочу спросить, экономят ли приведенные выше неудобные коды время / память / рабочую нагрузку для рисования представления или ничего не сохраняют, но ухудшают состояние, просто пишет, что лучше?
canvas.clipPath(roundHeadPath);
canvas.drawPath(roundHeadPath, gradientPaint_for_roundHeadPath);
canvas.drawPath(eyePath, gradientPaint_for_eyePath);
canvas.drawPath(mouthPath, gradientPaint_for_mouthPath);