链接到我之前在Live Wallpaper上移动圆圈的问题。我每次都在移动一个带有新位图的圆圈,在新位置上画一个圆圈,即(x,y)。但在我看来,这不是一个好的方法,所以我想有可能删除在实时壁纸画布上绘制的圆圈/位图吗
如果是,请分享一些代码/链接。
如果遇到性能问题,此时代码中。。。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.aquarium, options);
您正在对每帧的位图进行解码。这是昂贵的,应该避免。
相反,在位图中读取一次,然后使用它在每帧绘制到画布上。
同样,您应该尽量不要在绘制循环中实例化任何内容。你在那里创建的所有东西都必须是垃圾收集的,这会减慢速度。任何对象都会尝试在绘制循环之外实例化。因此,您可以做的另一件事是让它执行得更快一点,那就是在构造函数中这样做:
Paint paint = new Paint();