Нет лучших практик в этом отношении. Это зависит от вашего приложения.
1) Хранение ваших аватаров
Занимает больше места для хранения. Но ваше приложение работает быстрее.
Лучше всего, когда количество аватаров, отображаемых на одном экране, велико, но общее количество аватаров в вашем приложении невелико. (Например: вы показываете 15 аватаров на одном экране, и в вашей базе данных есть 100 аватаров).
2) Генерация ваших аватаров
Занимает меньше места. Но ваше приложение работает медленнее.
Лучше всего, когда количество аватаров, отображаемых на одном экране, мало, но общее количество аватаров в вашем приложении велико. (Например: вы показываете только 3 аватара на одном экране, но в вашей базе данных есть 100 000 аватаров).
Заключение
Скорость обычно важнее, чем объем памяти Поэтому я склоняюсь к хранению аватаров. Но единственный верный способ получить ответ - проверить его и посмотреть, что лучше всего подходит для вашего конкретного приложения c.