2017-11-06 150 views
5

3.0 Android Studio'ya yükselttikten sonra, vektörel çizimlerde uzun yollardan şikayet etmeye başladı.Android Studio 3.0 vector drawables ve LINT araçları: ignore = "VectorPath"

uyarı diyor ki: performans için kötü

Çok uzun vektör yolu (7958 karakter). İndirgenme hassasiyeti, küçük ayrıntıları kaldırma veya vektörünü rasterleştirme. less ... (⌘F1) Uzun vektör yollarını kullanmak performans açısından kötüdür. pathData yapmanın birkaç yolu vardır kısadır:

dokümantasyon https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html göstermektedir (PNG dönüştürmek) * az hassasiyet * * görüntünün pikselleştirilmesi Android Studio vektör dönüştürme aracı kullanarak * Bazı küçük ayrıntılar Çıkarma nasıl bizim apps vektör drawables kullanmak, vb png en

üzerine önerir için ben hem olmuştur vektör drawables için SVG 's dönüştürmek için Android Studio vektör Dönüşüm Aracı ve bu mükemmel hizmeti kullanarak: http://inloop.github.io/svg2android/

Vektör çekilebilir karmaşıklığı azaltmak için daha fazlasını yapan başka hizmetler var mı? Vektörel çizimlerimin nasıl geliştirilebileceğine dair yönergeleri nerede bulabilirim?

+0

Tam anlamıyla bir saat önce ['avdo'] (https://github.com/alexjlockwood/avdo) adında bir vektör çizilebilir optimizasyon aracı yayınladım. Bunu faydalı bulabilirsin! –

cevap

4

(yerine web aracının, ben svg2vectordrawable kullanıyorum notu) Eğer svgo

ben gibi görünüyor kullanmak bir örnek boru hattı aracılığıyla çalıştığı, svg2android kullanmadan önce ekleyebileceğiniz fazladan adım kaldı

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

Benim config dosya (ihtiyaçlarınızı eşleşecek onunla oynayabilir) gibi görünüyor:

"plugins": [ 
    { 
     "convertPathData": { 
      "leadingZero": false, 
      "floatPrecision": 2 
     } 
    } 
] 
+0

Bu harika bir ipucu! Çok teşekkürler! –

+0

'liderZero' mevcut olmalıdır, aksi takdirde InvalidVectorPath 'lint'i alırsınız. – TWiStErRob

+0

: "liderZero": false', baştaki sonuçları sıfırlamanızı sağlayan lider sıfırlar optimizasyonlarını devre dışı bırakır, bu da – marianosimone

2

avdo'u kullanarak vektörü çizilebilir hale getirmeyi deneyin! Yollarınızın karmaşıklığını azaltmaya yardımcı olmalıdır.

+0

boyutlarını azaltır, boyutu% 10.5 azalttı ancak maalesef yolların bir kısmı hala lint'e göre çok uzun. Yolları veya başka şeyleri ayırmanın bir yolu var mı? Yoksa png kullanmalı mıyım? Yollardan biri 1595 karakterdir. –