Для такой простой игры вам вполне подойдет использование коллекции Views. Как вы упомянули, вместо того, чтобы пытаться делать это вручную, вы получаете доступ к множеству приятных анимаций функциональных возможностей бесплатно.
Это также делает реализацию пользовательского интерфейса намного проще, так как вы можете просто добавить onClickListeners к каждому представлению, чтобы захватывать прикосновения пользователя. Если вы рисуете все это вручную на холсте, вам придется интерпретировать прикосновения самостоятельно и решить, к какой карте прикоснулись и т. Д. Хотя это не слишком сложно, тогда я думаю, что подклассы View - лучшая модель и, скорее всего, результат в чистом коде.
Поскольку у вас будет только 30 карт, то я не могу представить, что у вас также есть проблемы с производительностью - если вы думали 100+, то, возможно, у вас будут проблемы, но я думаю, что вы в порядке. Кроме того, если я правильно понимаю вашу игру, большинство ваших карт не будут анимироваться большую часть времени, так что это еще одна причина, чтобы не волноваться - если у вас возникнут проблемы с производительностью анимации, вы можете легко избавиться от всех неанимированных Виды на растровое изображение (холст) на время анимации.