web-dev-qa-db-ja.com

Android Studio 3.0ベクタードローアブルとLINTツール:ignore = "VectorPath"

3.0にアップグレードした後Android Studioはベクタードローアブルの長いパスについて不満を感じ始めました。

警告は言う:

非常に長いベクトルパス(7958文字)。これはパフォーマンスに悪影響を及ぼします。精度の低下、細部の削除、またはベクトルのラスタライズを検討してください。 less ...(⌘F1)長いベクトルパスを使用するとパフォーマンスが低下します。 pathDataを短くするには、いくつかの方法があります。*精度を低くする*細かい詳細を削除する* Android Studioベクトル変換ツールを使用する*画像をラスタライズする(PNGに変換する))

ドキュメント https://developer.Android.com/guide/topics/graphics/vector-drawable-resources.html は、アプリでベクタードローアブルを使用する方法を示しており、pngなどよりも推奨しています。

私は両方ともAndroid Studio Vector Conversion Toolと、SVGをベクタードローアブルに変換するこの優れたサービスを使用しています。 http://inloop.github.io/svg2Android/

ベクターのドローアブルの複雑さを軽減するために他に役立つサービスは他にありますか?ベクタードローアブルの「高度な」使用に関するガイドラインはどこにありますか?

18
Ove Stoerholt

avocado を使用してベクタードローアブルを最適化してみてください。パスの複雑さを軽減するのに役立ちます。

23
Alex Lockwood

svg2Androidを使用する前に追加できる追加のステップがあります。これは svgo を介して実行されます

私が使用するパイプラインの例は次のようになります(Webツールの代わりに svg2vectordrawable を使用していることに注意してください)

~$ svgo image.svg --config=config -o image.svg.optimized
~$ s2v "image.svg.optimized image.xml

私のconfigファイルは次のようになります(必要に応じて、このファイルをいじってみてください)。

"plugins": [
    {
        "convertPathData": {
            "leadingZero": false,
            "floatPrecision": 2
         }
    }
]
6
marianosimone

Precisionを減らして このツール を使用してみてください。

1
Levon Petrosyan