Od Androida 4.3 (Jelly Bean) możemy teraz korzystać z res/mipmap
folderów do przechowywania obrazów „mipmap”.
Na przykład Chrome na Androida przechowuje swoje ikony w tych folderach zamiast bardziej normalnych res/drawable
folderów.
Czym różnią się te obrazy mipmap od innych znanych rysowalnych obrazów?
Widzę, że w moim manifeście używamy @mipmap/
kwalifikatora zamiast @drawable/
, co ma sens, biorąc pod uwagę nazwę folderu zasobów:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Bibliografia:
Dokument interfejsu API systemu Android 4.3 ma następujące zdanie:
Użycie mipmapy jako źródła dla mapy bitowej lub rysowalnej jest prostym sposobem na zapewnienie wysokiej jakości obrazu i różnych skal obrazu, co może być szczególnie przydatne, jeśli spodziewasz się skalowania obrazu podczas animacji.
Android 4.2 (API poziom 17) dodał obsługę mipmap w klasie Bitmap - Android zamienia obrazy mip w Bitmapie, gdy podałeś źródło mipmap i włączyłeś setHasMipMap (). Teraz w Androidzie 4.3 możesz włączyć mipmapy również dla obiektu BitmapDrawable, podając zasób mipmap i ustawiając atrybut android: mipMap w pliku zasobów bitmapy lub wywołując hasMipMap ().
Nie widzę tam nic, co pomogłoby mi zrozumieć.
Zasoby bitmapy XML mają android:mipMap
właściwość:
Boolean. Włącza lub wyłącza wskazówkę mipmap. Aby uzyskać więcej informacji, zobacz setHasMipMap (). Wartość domyślna to false.
O ile mi wiadomo, nie dotyczy to ikon programu uruchamiającego.
Pytanie zostało zadane w Grupach dyskusyjnych Google ( celem nazwy zasobu „mipmap” ?! ), na co odpowiedział Romain Guy:
Przydatne jest dostarczenie obrazu o większej rozdzielczości, który normalnie byłby obliczany (na przykład na urządzeniu mdpi Launcher może chcieć, aby większa ikona hdpi wyświetlała duże skróty do aplikacji).
Wydaje mi się, że to prawie ma sens, ale nie do końca.
Nadal jestem skłonny do śledzenia Randy'ego Sugianto:
Jakie są tego zalety? Czy jest jakiś przewodnik jak używać mipmap, prawdopodobnie dla lepszych ikon programów uruchamiających?
Oczywiście Wikipedia ma stronę „Mipmap” , która odnosi się do starszej techniki wynalezionej w 1983 r., Której nie mogę do końca powiązać z obecną implementacją Androida.
Czy powinniśmy teraz przechowywać wszystkie nasze ikony aplikacji w res/mipmap
folderach i jakie są wytyczne dla tych obrazów mipmap?
Aktualizacja nr 1
Oto post na blogu, który próbuje to trochę wyjaśnić.
Ale obraz użyty w tym blogu pokazuje, jak wygląda jeden plik z wieloma logo. Nie tego widzę w folderze mipmap Chrome.
mipmap-hdpi
Folder Chrome zawiera trzy obrazy. Jednym z nich jest samo logo Chrome.
O dziwo, to 72x72, a nie 48x48, których spodziewałbym się zobaczyć.
Być może to wszystko - musimy po prostu przechowywać większe ikony w folderach mipmap?
Aktualizacja nr 2
W blogu deweloperów Androida z 23.10.2014 ponownie potwierdzono pomysł użycia mipmap
folderów na ikony aplikacji:
Mówiąc o gęstości ekranu Nexusa 6, autor pisze:
Najlepszą praktyką jest umieszczanie ikon aplikacji w folderach mipmap (nie folderach rysowalnych), ponieważ są one używane w rozdzielczościach innych niż aktualna gęstość urządzenia. Na przykład ikona aplikacji xxxhdpi może być używana w programie uruchamiającym dla urządzenia xxhdpi.
Aktualizacja nr 3
Pamiętaj, że Android Studio tworzy ic_launcher.png
ikony w mipmap...
folderach, a nie w drawable...
folderach, w których Eclipse je utworzył.