Android: drawable Auflösungen
Habe ich seit über dieser Beitrag (und andere), als auch durch die Dokumentation über die unterschiedlichen Bildschirmauflösungen bei Android, aber ich konnte nicht finden, eine klare Antwort auf eine (einfache) Frage:
Ist es ok, nur "res/drawable" für Bilder in einer android-app?
Hintergrund: Die einzigen Bilder, die benötigt werden, in diesem speziellen app werden die app-Ikone und ein Symbol für eine Meldung, es werden nicht alle Bilder in jedem layout.
Also in meinem Verständnis, wenn keine "hdpi"-, "mdpi"- und "ldpi"-Ordner gefunden werden, Android wird mit "res/drawable" als fallback.
Als einzige Fallstrick mit verschiedenen Bildschirm-Auflösung scheint zu sein, dass Android wird die Größe von Bildern für eine bestimmte Auflösung, wenn kein spezielles gefunden ist, sollte dies nur ein problem beim UPscaling, denn das Bild wird unscharf. Aber wenn ich alle "hdpi"-Bilder in "res/drawable" (anstatt 3 verschiedene), nicht Android nur Herunterskaliert diese Bilder, wenn der zu groß ist?
Wenn das wahr ist, ich könnte einige zu retten APK-Raum, indem nur ein Drittel der Bilder.
Follow-Up-Frage: ich habe gelesen, dass für API-level 3 ein Verzeichnis mit dem Namen "drawable-v3" ist erforderlich. Ist das wahr oder ist "drawable" - fallback für diese API-level auch?
Jeder Hinweis ist willkommen.
InformationsquelleAutor Select0r | 2011-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Bildern in den drawables-Ordner sind davon ausgegangen, dass bei mdpi-Auflösung, so werden Sie skaliert bis/nach unten, wenn Sie nicht die anderen.
Skaliert werden die Bilder mit niedriger Auflösung und verschwommen Aussehen. Skaliert Bilder haben Pixel fehlen und gezackte Aussehen.
Sodass Ihre app "arbeiten" mit nur einem Satz von Standardwerten für die Bilder, aber sieht schrecklich auf viele Geräte. Ich rate dringend, beim erstellen der Bilder in verschiedenen Größen, so dass es sieht gut auf allen Geräten - es ist ein bisschen langweilig, aber nicht schwer zu tun.
Es wird nicht lange dauern und wir haben xhdpi Geräte, also wenn Sie schon dabei sind, dann erstellen Sie diese auch.
Ich nehme an, du hast gelesen, diese
Aber das hinzufügen ein Bild mehrmals (ldpi, mdpi, hdpi, xhdpi, xxhdpi) erhöht die Größe eine Menge, In meinem Projekt habe ich, wie 15-Aktivitäten und für jede Tätigkeit habe ich verschiedene Bilder und insgesamt sind es 96. Also 96 Bilder pro drawable-Ordner(5) = 480 Bilder. Für die Bilder in ldpi mdpi, dass ist kein großes problem, weil Sie klein sind. Aber die anderen Bilder in den drawable-Ordner die Größe für meine Bilder sind wie folgt: hdpi - 14MB-xhdpi - 19 MB xxhdpi - 39 MB Und all das geht auf die Größe der .apk.
InformationsquelleAutor Ollie C
Nicht eine vollständige Antwort, aber: stark herunterskalierten Bildern kann und in der Regel sehen nicht so schlecht, wie vergrößerte Bilder (aber anders), weil Grafik-Bibliotheken fast ausschließlich interpolation Methoden für die Skalierung und interpolation Methoden sind begrenzt in Bezug auf, wie viel Sie können schrumpfen ein Bild vor dem schweren Verlust der Informationen (zu über 50% für die lineare Methoden und bis zu etwa 25% für bicubic Methoden). Dies ist, warum die meisten Plattformen haben sich Konventionen (wie hdpi, mdpi, etc.) lassen Sie Bilder einbetten, die sind am besten für jede Bildschirmgröße.
Nein, wird es wohl schlecht Aussehen. Sollten Sie wirklich tun, würden mit einer anspruchsvollen Grafik-engine wie Photoshop oder was auch immer - Ihre algorithmen produzieren viel bessere Ergebnisse als die Grafik-engine von einer Programmierumgebung (die ist für die Leistung optimiert, anstatt endgültige Ergebnisse-Qualität).
Ich habe alle meine Bilder in drei Größen, mit einem Grafik Programm, ich bin einfach gerne sicher diese paar kB in der letzten APK-Größe 🙂
es ist nichts so wichtig wie der erste Eindruck, und das app-Symbol ist buchstäblich der erste Eindruck. Ich würde nicht versuchen, um Speicherplatz zu sparen gibt.
InformationsquelleAutor MusiGenesis
Benutze ich drawable/die ganze Zeit, und dann gehe ich zu BestBuy und alle lokalen wireless-stores und Teste meine apps auf kleines/großes/große(tablet) - Geräte und Sie sehen Prima aus.
InformationsquelleAutor Rich
Es sei denn, Sie haben Grund zu der Ziel-Prä-Donut-Geräte (jetzt nur noch 4% der Geräte nach http://developer.android.com/resources/dashboard/platform-versions.html), dann sollten Sie Ihre bitmaps in einer der-Xdpi Verzeichnisse. Die generische "drawable" Verzeichnis ist ein synonym von "drawable-mdpi" aus Gründen der Kompatibilität, aber eine moderne, gut geschriebene app sollte es sein, seine drawables in einem Verzeichnis entsprechen der Dichte für das Sie bestimmt sind.
InformationsquelleAutor hackbod
res/drawable ist die fallback -
die Einschränkung ist, dass die Skalierung nicht nur verschlechtert das Bild aber nimmt die Verarbeitungszeit zu.
Habe ich nicht einmal Lesen Sie die API-Level 3 docs noch, sorry für 1/2 eine Antwort
InformationsquelleAutor gjpc
Für was es Wert ist ich fand das Bild Handhabung von Android zu mühsam und unzuverlässig. Das Konzept der Einbeziehung unterschiedlicher Größe Bilder für die verschiedenen Bildschirme werden dazu führen, dass große Dateien der Anwendung aufgedunsen mit Bildern. Es gibt bereits Bildschirme, die nicht passen in die standard-Auflösung reicht. Ich habe festgestellt, es ist am besten, nicht zu lassen, android behandeln Sie die Skalierung, es scheint, zum erstellen eines Basis-image für die kleinsten Bildschirm Ziel und dann Vergrößere es auf daraus resultierenden, in der gewöhnlichen aussehende Bilder auf den großen Bildschirmen. Das geschieht auch, wenn Sie das Bild speziell für den großen Bildschirm.
Meine Lösung, die zu funktionieren scheint, auf alles, was von einer 2" - samsung-Handy auf ein Sony Tablet zu erstellen-Bilder in hoher Auflösung und Bitmap.createScaledBitmap (), um die Größe, die ich brauche.
caveat: ich bin neu auf Android und habe viel zu lernen.
InformationsquelleAutor Squiggles