Soru Android: sadece xxhdpi görüntüleri kullanın


Sadece xxhdpi görüntüleri kullanarak ve görüntüleri android ölçekli izin veren herhangi bir dezavantajı var mı? (Evet, daha yoğun cpu olabilir, ama dikkat çekici mi?) Samsung s2 üzerinde test ettim ve fark küçüktü.

Sadece minSdk 'i XX' ye ayarlanmışsa, xxhdpi yok mu diye bir kısıtlama var mı?


18
2018-01-31 15:41


Menşei




Cevaplar:


İşte düşünebileceğim bir kaç dezavantaj:

  • Görüntüleri yeniden boyutlandırmak için daha fazla CPU yoğunluğu olan uygulama, daha fazla pil kullanacak ve özellikle eski cihazlarda daha yavaş duracaktır.
  • Yükleyeceğiniz görüntüler daha büyük olacak ve daha fazla bellek kullanacak. Mdpi / hdpi cihazlarda, uygulamanızın çalıştığı VM'nin yalnızca daha az miktarda yığın belleği bulunur ve yalnızca yüksek kaliteli görüntüler yüklüyorsanız çok daha sık Bellek Dışı Durumları'na girebilirsiniz.
  • Yeniden boyutlandırma nedeniyle görüntünün kalitesi mdpi / hdpi aygıtlarında iyi olmayabilir. Bu, yüklediğiniz görüntüye gerçekten bağlıdır, ancak keskin çizgiler olan resimler biraz bulanık görünebilir. Ama şunu da belirtmek isterim ki, bu sadece bir vektör grafiğinden her büyüklükte pijamalar yapıyorsanız geçerlidir. Eğer xxhdpi png'inizi daha küçük bir boyutta yeniden boyutlandıracak olursanız, muhtemelen Android'in anında yaptığı şeyle aynı şeyi yapıyorsunuzdur, dolayısıyla hiçbir fark olmayacaktır.

14
2018-01-31 16:22



"Eğer xxhdpi png'inizi daha küçük bir boyutta yeniden boyutlandıracak olursanız, muhtemelen Android'in anında yaptığı şeyle aynı şeyi yapıyorsunuzdur, bu yüzden de hiçbir fark olmayacaktır" Bu bölümün doğru olduğunu düşünmüyorum. İşletim sistemi tarafından kullanılan anında yeniden boyutlandırma algoritmaları performans için optimize edilirken, resim düzenleme yazılımında yüksek kaliteli algoritmalar kullanabilirsiniz. - SepehrM


Evet, çekilebilir xxhdpi API 19'da tanıtıldı. Uygulamanızı daha düşük bir API düzeyinde çalıştırmak istiyorsanız, sistem xxhdpi çizgilerine erişemediği için herhangi bir görüntü almayabilirsiniz.

Bu yalnızca Android 2.3 ile yalnızca xhdpi kullanıyorsanız geçerlidir.


2
2018-01-31 15:46



Tam olarak doğru değil. Ayarlamak zorundasın targetSdkVersion=19o zaman hiç sorun çıkarmayacak. - Or Bar
İki hafta önce test ettim, Android 2.2'deki ImageView'da yüklü olmayan bir xhdpi görüntüsü ve Android 2.3.3 ile başka bir telefonda vardı. - Stephane Mathis
2.2 ve 2.3 hakkında emin değilim, ancak şu anda hedef = 19 ile bir uygulama üzerinde çalışıyorum ve sadece xxhdpi kullanarak sorun yaşamayan bir 4.1 telefonda test yapıyorum - Or Bar
Android 4, 4.1, 4.2 ile test ettim ve iyi çalıştı. - suizo


Görüntü kalitesi farkı olacak kadar emin değilim: grafiğin farklı sürümlerini sağlasanız bile, muhtemelen orijinalin yalnızca alt ölçekleridir. Çalışma zamanında bunu yapmanın arasındaki farka bahse girerim ve tasarım zamanı, bir kullanıcının bir cep telefonu ekranından fark etmesi için yeterince önemli olmayacaktır.

Ayrıca bir performans farkından da emin değilim - ancak, sıfırdan farklı olmayan olumsuz bir etkiye sahip olduğunu kabul etseniz bile. Bu gerçek göz önüne alındığında, "Neden önceden ölçeklenmiş grafikler sağlamaz?" Sorusunu sormaya değer olduğunu düşünüyorum. Araçlar var Android Varlık Stüdyosu Simge Oluşturucu) Bu, neredeyse 0 olanı gerçekleştirmek için gereken çaba düzeyini getiriyor.

Mobil ortamda, herhangi bir potansiyel performans artışı için yaklaşık 0 iş yaptığınız herhangi bir anlaşma yapmanız gereken bir fırsattır.


1
2018-01-31 16:11





Stephane cevabına ek olarak, özellikle mdpi cihazlarında görüntü kalitesinin kötü olacağını söylemeliyim.


0
2018-01-31 15:56



niye ya? Test ettim ve farkı fark etmedim. - suizo
Grafik düzenleyicinizle ölçeklendirilmiş raster görüntüyü karşılaştırırsanız ve android ile farkı neredeyse göremezsiniz. Ancak, android ile küçültülmüş görüntüyü, birden çok görüntü boyutuna aktarılan vektör resmine karşılaştırırsanız, göreceksiniz. - MikhailKrishtop