我对自定义视图有一些奇怪的性能问题。这是一个简化的示例:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(bitmap, 0, 0, null);
canvas.drawText("test", 0, 30, textPaint);
}
bitmap
是一个小的背景图像。在顶部绘制了一个带有大文本大小的字符串,因此前 10 个(左右)像素被裁剪,这就是我想要的。
我有大约 100 个这样的视图ListView
(每行 10 个)。滚动列表非常慢,但是由于某种奇怪的原因,如果我更改drawText()
坐标以使文本适合视图范围,它会突然变得平滑。
到底是怎么回事?为什么将文本稍微超出边界绘制这么慢?
我正在运行 Android 4.2.2(无法尝试其他版本,模拟器不太适合测试布局性能)。