2017-08-27 31 views
13

Çizilebilir bir vektör oluşturduğumda, boyutunu dp olarak ayarlayabilirim. Varsayılan 24dp x 24dp'dir. Android Vector Assets: dp ölçümleri yalnızca "wrap content" için önemli midir?

  1. benim app 24dp x 24dp farklı bir boyutta vektör kullanırsanız bu ölçümlerin performans açısından önemi mı? Ayrıca 21'in altındaki API ile ilgili olarak (görüntüleri göstermek için app:srcCompat kullanıyorum).

  2. Daha düşük bir API kullanıldığında ve sistem bunu ölçeklendirdiğinde, vektör boyutu önemli midir?

  3. Bu ölçümler, wrap_content başvurusunda bulunduğumda varsayılan boyutun dışında kullanımım için önemli midir? Eğer önceden Lollipop sürümlerinde Destek kütüphanesi ile vektör drawables kullanmıyorsanız

+0

Yani ölçümü için ya da metin için sadece vektör görüntü boyutunu istediğiniz kullanıyorsanız, wrap_content, boyut önemli olmamalı kullanmadığınız zamanlarda

  • # 1, Cevaplanarak? Eğer tüm o zaman için ** derlemek 'com.intuit.sdp: sdp-android: 1.0.4' ** bu kütüphanesi ölçüm için. –

  • +0

    Bu, https: // stackoverflow yardımcı olabilir düşünüyorum.com/a/35930518/4252667 –

    cevap

    1

    herhalde kesin tüm soruları ancak DP boyut meseleleri cevap veremez. Bu PNGs üretecektir uygulamanızın yapı dosyası Android Studio parçası değilse

    android { 
        defaultConfig { 
         vectorDrawables.useSupportLibrary = true 
        } 
    } 
    

    https://android-developers.googleblog.com/2016/02/android-support-library-232.html

    bakınız:

    uygulamalarınızın en gradle yapı dosyasına aşağıdaki eklemelisiniz destek vektör drawables etkinleştirmek için Tanımlı DP boyutuna sahip olan tüm Lollipop versiyonları için. Yani, vektörünüz 24dp'yi tanımlar ve 128dp grafik olarak kullanıyorsanız, 24dp'lik bir PNG kullanacağı için Lollipop öncesi sürümlerde çok iyi görünmeyecektir.

    oluşturulan PNG'ler

    burada bulunabilir:

    app\build\generated\res\pngs\... 
    

    otherway etrafında vektör 128dp ve bağlı beklendiği gibi aynı zamanda mükemmel görünmeyebilir 24dp grafik küçültülmüş PNG grafik olarak kullanıyorsanız ölçekleme ve çok büyük PNG'ler nedeniyle büyük olasılıkla dosya boyutunu harcıyorsunuzdur.

    Aslında o performans için ne anlama geldiğini hiç bakmadı ...

    +0

    Evet tabi ki. Geri dönüş PNG kuşağı düşünmemiştim. Bu nedenle, PNG geri dönüşü olmayan bir vektörü çiziyorsanız, çekilebilir XML'deki boyutlar sadece "wrap_content" kullanıyorsanız önemlidir. Teşekkürler! –

    0
    1. Eğer wrap_content kullandığınız, ardından cihaz istediğiniz boyut (24dp) içinde vektör hale getirecek. Daha büyük boyut ayarlama, kullanıcı arayüzünüzü ve performansınızı etkileyen daha büyük bitmap oluşturulmasına neden olur. Sarma içeriği kullanmıyorsanız ve vektörler için destek kitaplığı kullanıyorsanız, vektör boyutunun önemi yoktur.
    2. vectorDrawables.useSupportLibrary = false öğesini ayarlarsanız, APK'nız aygıtlar için kullanılan bitmap'leri de içerir. API 21 için. Daha büyük bitmap'lerin açılması için daha fazla zamana gereksinim duyar, daha fazla bellek kullanır ve aynı zamanda apk'nızın boyutunu da artırır. UI'niz için ihtiyaç duyduğunuzdan daha büyük boyut kullanırsanız (sistem ölçeklendirir), performansı da etkiler ve muhtemelen görüntü kalitesini düşürebilir. Eğer vectorDrawables.useSupportLibrary = true