Рисование в темах - PullRequest
       5

Рисование в темах

0 голосов
/ 22 августа 2011

Я разрабатываю приложение, которое рисует карту.

В настоящее время моя логика выглядит следующим образом:

1) У меня есть действие с набором слоев (плитки, линии, квадраты и т. Д.)...).

2) В упражнении по отображению представления с холстом.

3) Затем в этом представлении я вызываю «RenderAll».В результате я прохожу все слои и вызываю процедуру рендеринга для каждого из них.Я отправляю холст своему рендереру, а вещи рисуются на холсте.После этого onDraw вызывается на моем виде, и изображение завершается и рисуется на виде.

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

Может кто-нибудь указать мне хороший урок, как это сделать?Я новичок в многопоточности ...

Спасибо.

1 Ответ

2 голосов
/ 22 августа 2011

Сначала прочитайте это: http://download.oracle.com/javase/tutorial/essential/concurrency/

Тогда переосмыслите свой дизайн. Вы действительно хотите переместить названия улиц, а затем улицы? Помните: это может занять некоторое время, поэтому в течение нескольких секунд пользователь увидит «неправильную» картинку. И еще: сколько у вас слоев? Если количество слоев может увеличиться (например, пользовательские заголовки, названия магазинов и т. Д.), Количество нитей в вашем дизайне также увеличится, что не кажется хорошей идеей.

Почему бы не иметь одну нитку для рисования, которая рисует все слои последовательно? Это, вероятно, будет работать даже быстрее, чем многопоточное решение, и определенно проще в реализации.

...