Les seules façons qui me viennent à l'esprit d'optimiser ces images seraient de les redimensionner à la taille réelle dont elles ont besoin (comme la plupart des icônes seront utilisées dans un format 16x16) et si vous stockez aussi vous pouvez également définir la palette de couleurs utilisée sur une taille correspondant exactement aux besoins de l'image donnée (par exemple, une image de 16x16 a 256 pixels.) Vous avez donc besoin d'une palette maximale de 256 couleurs, mais peut-être aussi d'une palette de 16 couleurs est assez, parce que dans votre image sont seulement 16 couleurs différentes.)
Dans une deuxième approche, vous pouvez également vérifier si vous avez peut-être la même image plusieurs fois chargée. Dans ce cas, vous ne devez le charger qu'une seule fois et l'utiliser plusieurs fois.
Un dernier, qui me vient à l'esprit appartient aux images de fond. Si vous avez un arrière-plan solide, vous n'avez pas besoin d'une image de taille complète. Prenez juste un bitmap 1x1 et étirez-le à la taille requise. La même chose compte pour les arrière-plans dégradés, mais dans ce cas, vous avez un bitmap 1x2 qui sera étiré. Et enfin, si vous avez un motif régulier, prenez la plus petite brique unique et utilisez un mécanisme de tuile.