カスタム ビューで奇妙なパフォーマンスの問題が発生しています。簡単な例を次に示します。
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(bitmap, 0, 0, null);
canvas.drawText("test", 0, 30, textPaint);
}
bitmap
小さな背景画像です。大きなテキストサイズで文字列が上に描画されるため、上から 10 (またはそれくらい) のピクセルが切り取られます。これが私が望むものです。
このようなビューが約 100 個ありますListView
(1 行あたり 10 個)。リストのスクロールが非常に遅いのですが、奇妙な理由でdrawText()
、テキストがビューの境界内に収まるように座標を変更すると、突然スムーズになります。
何が起こっている?テキストを境界のわずかに外側に描画するのが遅いのはなぜですか?
私は Android 4.2.2 を実行しています (他のバージョンを試すことはできません。エミュレーターはレイアウトのパフォーマンスをテストするには適していません)。