Я работаю над живыми обоями. Для обоев требуются небольшие подвижные изображения, которые должны находиться за большим фиксированным изображением с прозрачными областями. Меньшие изображения будут видны только тогда, когда они находятся в прозрачных частях большого изображения.
Вот как я это делал до сих пор:
Canvas c = holder.lockCanvas();
c.save()
drawSmallImages(c); //draw the movable images
drawLargeImage(c); //draw the fixed large image
c.restore();
Я проверил это через traceview, и похоже, что Android тратит большую часть вычислительной мощности, чтобы нарисовать большое изображение, и в идеале я бы хотел, чтобы оно рисовалось только один раз, когда запускаются обои. Я не знаю, как заставить меньшие изображения рисовать за большим изображением, не перерисовывая большое изображение после меньших изображений в каждом кадре.