我刚刚开始在Android上制作我的第一个动态壁纸,我注意到有关PixelFormat
的有趣行为。如果我使用SurfaceHolder
的默认PixelFormat
,我的动态壁纸有点滞后。如果我将PixelFormat
设置为RGB_565
,则似乎可以解决此问题。这真的不应该太令人惊讶。奇怪的是,分析表明,在两种格式中进行渲染所需的时间一样长。任何人都可以解释这种行为。
谢谢, XOR
--- ---编辑
如果它有任何帮助,我在Canvas上渲染。我所做的就是调用drawColor
并绘制3条相当简单的反锯齿路径。对它没那么多。
答案 0 :(得分:2)
PixelFormat应该不是问题。您甚至可以设置PixelFormat.RGBA_8888而不会出现性能打嗝。在某些情况下,此格式可用于减少渐变上的色带。
对于简单的情况,使用Handler进行动画可能很有用,但是您应该考虑为此任务使用单独的线程。前段时间我准备了简单的live wallpaper template。您可以下载GitHub的整个项目并进行一些实验。我相信你会有更好的表现。