Эффективный 2D рисунок в Android

Я искал в течение довольно многих часов и не смог найти краткий определенный andswer к своему вопросу. У меня есть приложение, где я должен потянуть спортивное поле (включая все строки подачи) на экран. До сих пор я расширил SurfaceView и в значительной степени скопировал остальную часть демонстрации LunarLander также. Все данные, которых приложение требует для рисования подачи к корректным размерам, получаются от сокета, который хорошо работает также. Однако в минуту в onDraw () функция, я провожу все линии каждый кадр, который вызывает довольно медленный framerate в эмуляторе (например, ~10fps). Вот является мой onDraw () функцией:

@Override
public void onDraw(Canvas canvas) {
canvas.drawARGB(255,0,144,0);
canvas.drawLine(canvas, getFirstLine(), mPaint);
canvas.drawRect(canvas, getFirstRect(), mPaint);
canvas.drawRect(canvas, getSecondRect(), mPaint);
...
canvas.drawRect(canvas, getSecondRect(), mPaint);
drawAnimatedObjects();
}

Я затем рисую круги и различные положения по этому фону. Мой вопрос состоит в том, как я делаю это более эффективным? Существует ли способ, которым я могу провести линии при инициализации приложения и не иметь для перерисовки их каждый кадр?

Спасибо за любую справку.

5
задан Sonoman 4 August 2010 в 15:09
поделиться