Если вы использовали tinypng для каждого ресурса, вы сделали все возможное с этим типом решения. В общем, лучше использовать векторную графику, где общий значок будет <1кб. Также можно анимировать векторный ресурс. Если это просто растровые изображения, вы можете сгенерировать их в коде по запросу. Кроме того, вы можете разделить свое приложение по динамическим c функциям, и каждая из них будет загружена по запросу вместе со своей частью ресурсов. </p>
Есть ли способ сжать изображения и распаковать их в реальном -время при необходимости?
Стандартного Android решения из коробки не существует. Наверное, ты сможешь написать что-нибудь самостоятельно. Но это выглядит слишком большим усилием.
Тем не менее, наиболее практичное решение: максимально использовать векторную графику, сгенерировать в коде то, что вы можете сгенерировать, сжать с помощью tinypng остальных. Этого должно быть достаточно, иначе у вас должна быть очень веская причина для дополнительной работы.
Для получения дополнительной информации о векторной графике в android. Для стандартной векторной графики импорт c прямо в android студию . Сайт, на котором можно скачать иконки и вставить их в проект .