Après la mise à niveau vers 3.0 Android Studio a commencé à se plaindre des longs chemins dans les graphiques vectoriels).
L'avertissement dit:
Chemin de vecteur très long (7958 caractères), ce qui est mauvais pour les performances. Envisager de réduire la précision, de supprimer des détails mineurs ou de tramer le vecteur. moins ... (⌘F1) L'utilisation de longs chemins vectoriels est mauvaise pour les performances. Il existe plusieurs façons de raccourcir le pathData: * En utilisant moins de précision * En supprimant certains détails mineurs * En utilisant l'outil Android Outil de conversion vectorielle Studio * Rastériser l'image (conversion en PNG))
La documentation https://developer.Android.com/guide/topics/graphics/vector-drawable-resources.html nous montre comment utiliser les dessins vectoriels dans nos applications, et le recommande par rapport aux png, etc.
J'utilise tous les deux Android Studio Vector Conversion Tool et cet excellent service pour convertir les SVG en dessins vectoriels: http://inloop.github.io/svg2Android/
Existe-t-il d'autres services qui contribuent davantage à réduire la complexité des vecteurs à dessiner? Où puis-je trouver des directives sur le degré d'avancement de mes dessins vectoriels?
Essayez d'optimiser le vecteur dessinable en utilisant avocado
! Cela devrait aider à réduire la complexité de vos chemins.
Vous pouvez ajouter une étape supplémentaire avant d'utiliser svg2Android
, qui l'exécute svgo
Un exemple de pipeline que j'utilise ressemble (notez qu'au lieu de l'outil Web, j'utilise svg2vectordrawable )
~$ svgo image.svg --config=config -o image.svg.optimized
~$ s2v "image.svg.optimized image.xml
Mon fichier config
ressemble à (vous pouvez jouer avec lui pour répondre à vos besoins):
"plugins": [
{
"convertPathData": {
"leadingZero": false,
"floatPrecision": 2
}
}
]
Essayez d'utiliser cet outil en diminuant Precision
.