2016-07-12 11 views
0

Ich habe eine ziemlich große Anwendung für Tablets entwickelt. Da ich nicht unnötig Speicherplatz auf der Hardware verbrauchen möchte, wollte ich auflösungsspezifische Zeichen entfernen.Android: Entfernen nicht verwendeter auflösungsspezifischer Zeichnungsdaten beim ersten Lauf

Um klarer zu sein, wenn das Tablet, das meine App verwendet, mit HDPI-Auflösung ausgeführt wird, würde es ein "Risiko" geben, wenn ich die MDPI- und XHDPI-Ressourcen lösche?

Es ist mein Verständnis, dass Tabletten Auflösung nicht ändern und so diese Ressourcen nie verwendet werden würden und daher nur Speicherplatz beanspruchen.

Gibt es einen guten Grund, dies nicht zu tun?

Antwort

1

Es ist mein Verständnis, dass Tabletten nicht Auflösung ändern und so würden diese Mittel nicht verwendet werden und sind daher nur Speicherplatz einnehmen.

Eigentlich mit Android N beginnen können Sie die Dichte des Geräts zur Laufzeit ändern, mit einer neuen Option in Accessibility Einstellungen Displaygröße genannt. Wenn Sie sehen möchten, wie es aussieht und wie es funktioniert, hat Android Polizei a nice post about it. Einige benutzerdefinierte ROMs taten dies auch auf älteren Versionen von Android.

Aber das würde Ihre App nicht brechen. Android ist intelligent genug, um die geschlossene DPI-Version Ihres Zeichensatzes zu verwenden, die Sie eingefügt haben (oder in Ihrem Fall der einzige) und das Bild hoch- oder herunterzuskalieren. Das Schlimmste, was passieren könnte, ist eine gewisse Unschärfe oder andere Skalierungsartefakte.

So gibt es einige Nachteile und leichte Risiken, aber nichts zu gruselig. Google rät sogar dazu, einzelne DPI-Builds für große Apps zu verwenden. Sie bieten sogar die Funktionalität APK splits, um das Generieren von APKs zu vereinfachen, die nur einzelne DPI-Zeichen enthalten.

-2

Es ist ein Werkzeug shrinkResources, es entfernt Ressourcen genannt, die nicht verwendet werden, um Kompilierzeit

diese build.gradle zu Ihrem hinzufügen

android { 
    buildTypes { 
     release { 
      shrinkResources true 
     } 
    } 
} 
+1

Dies ist ein nettes Werkzeug, aber es wird nicht die Zeichnungsdateien aus den Ordnern für verschiedene Dichten entfernen, nach denen Simon fragt. – Galya

0

Wenn Ihre App sein wird Wird nur auf einem bestimmten Gerät verwendet, dann gehen Sie und löschen Sie die unnötigen Zeichen. Btw HDPI ist nicht die Auflösung, sondern die Dichte der Punkte auf dem Bildschirm. Wenn Sie Ihre einzige Ressource in drawbare-hdpi setzen, wird sie auf Geräten mit unterschiedlichen Dichten hoch/runter skaliert, was im schlimmsten Fall verzerrt aussehen kann. Aber beachten Sie, dass wenn Sie die Ressource in den ziehbaren Ordner legen (keine Dichte angegeben), wird sie in keinem Fall skaliert (was nicht der Fall ist).

Sie auch kleinere Ihre Bilder für die Herstellung einen Blick auf verschiedene Ansätze in Anspruch nehmen wie Farb Indizierung usw.

Verwandte Themen