Иерархия и структура Android

Я хочу создать приложение с несколькими анимациями на экране ОДНОВРЕМЕННО, если быть точным:

  1. Анимация датчика оборотов
  2. Анимация датчика миль в час
  3. Направление анимации колеса

Я считаю, что для того, чтобы сделать всю эту 2D-графику максимально быстрой, я должен использовать SurfaceView с многопоточностью. Мой вопрос в том, как я должен структурировать это приложение.

А) Должна ли каждая анимация быть отдельным классом? Если да, то как мне объединить все функции onDraw() в одном представлении?

B) Анимации не зависят друг от друга, поэтому мне все еще требуется синхронизированная потоковая передача? Если нет, могу ли я просто использовать один класс потока для всех анимаций или мне нужно создать 3 отдельных?


person Mark Manickaraj    schedule 02.06.2011    source источник


Ответы (1)


A) Два датчика и колесо не зависят друг от друга, поэтому я бы создал три отдельных вида для каждого. Я считаю, что SurfaceView является хорошим вариантом для каждого. Также рисунок будет у каждого совершенно разный, так что да, я бы создал разные классы. Возможно, в зависимости от того, как будут отображаться два датчика, вам может понадобиться использовать два экземпляра одного и того же класса Gauge.

Б) Поскольку SurfaceView заботится о потоке для рисования, вам не нужно создавать для них новый поток.

person Aleadam    schedule 02.06.2011
comment
Спасибо за помощь, у меня есть еще один вопрос, можно ли отображать несколько представлений на экране одновременно? если да то как? - person Mark Manickaraj; 02.06.2011
comment
Вы добавляете SurfaceView так же, как и любое другое представление... ViewGroup#addView(View) - person Aleadam; 02.06.2011