Was ist der Unterschied zwischen Bitmap und Drawable in Android?

Ich habe gegoogelt, aber ich konnte keinen Artikel finden, um den Unterschied zwischen Bitmap und Drawable in Android zu beschreiben.

  • Was ist der beste Weg, um den Inhalt einer ArrayList zu speichern?
  • Programmgesteuert id zu R.id hinzufügen
  • Android 9-Patch Hintergrundbild Initial PNG Größe?
  • Sichere Elemente Zugriffskontrolle auf ICS 4.0.4
  • ArcMenu mainImage brauche ich am unteren Rand des Bildschirms. OnMeasure läßt es nicht am unteren Rand des Bildschirms kommen
  • Android xml vs Java-Layouts Leistung
  • Programmgesteuertes Wifi Passwort?
  • Wie erfolgreich das Projekt mit Dagger 2.0 mit Proguard erfolgreich verschleiern kann?
  • Starten einer Aktivität in onPostExecute
  • Wie kann ich den Abstand zu Tab-Widget in Android entfernen?
  • Android M Berechtigungen: Verwirrt über die Verwendung von shouldShowRequestPermissionRationale () - Funktion
  • Android BLE unerwartet und wiederholt wieder mit Peripherie verbunden
  • 3 Solutions collect form web for “Was ist der Unterschied zwischen Bitmap und Drawable in Android?”

    Eine Bitmap ist eine Darstellung eines Bitmap-Bildes (so etwas wie java.awt.Image). Eine Zeichnung ist eine Abstraktion von "etwas, das gezeichnet werden kann". Es könnte eine Bitmap sein (eingewickelt als BitmapDrawable ), aber es könnte auch eine einfarbige Farbe, eine Sammlung von anderen Drawable Objekten oder eine beliebige Anzahl von anderen Strukturen sein.

    Die meisten der Android-UI-Framework arbeitet gerne mit Drawable-Objekten, nicht mit Bitmap-Objekten. Eine Ansicht kann jede Zeichnung als Hintergrund akzeptieren. Ein ImageView kann einen Vordergrund anzeigen. Bilder, die als Ressourcen gespeichert sind, werden als Zeichnungsobjekte geladen.

    Zeichenbar ist etwas, das gezogen werden kann. Beispiel Layout, Vektorbild (Linie, Kreis), Schriftart, Bild und so weiter

    Bitmap – ist ein bestimmter Typ von Drawable, der Bild ist, wie: PNG, JPEG oder so

    Zeichnungsfähige Ressource

    Eine Drawable Ressource ist ein allgemeines Konzept für eine Grafik, die auf den Bildschirm gezeichnet werden kann und die Sie mit APIs wie getDrawable(int) oder auf eine andere XML-Ressource mit Attributen wie android:drawable and android:icon android:drawable . Es gibt verschiedene Arten von Ziehbaren:

    • Bitmap-Datei , eine Bitmap-Grafikdatei (.png, .jpg oder .gif), erstellt ein BitmapDrawable .

    • Nine-Patch-Datei , eine PNG Datei mit dehnbaren Regionen, um die Bildgrößenänderung basierend auf Inhalt (.9.png) zu ermöglichen, erstellt ein NinePatchDrawable .

    • Layer List , A Drawable , das ein Array von anderen Drawable s verwaltet. Diese werden in Array-Reihenfolge gezeichnet, so dass das Element mit dem größten Index oben gezeichnet wird, erstellt ein LayerDrawable .

    • State List , Eine XML Datei, die auf verschiedene Bitmap-Grafiken für verschiedene Zustände verweist (z. B. um ein anderes Bild zu verwenden, wenn eine Schaltfläche gedrückt wird), erstellt ein StateListDrawable .

    • Level-Liste Eine XML Datei, die ein Drawable definiert, das eine Anzahl von alternativen Drawable s verwaltet, die jeweils einen maximalen numerischen Wert zugewiesen haben, erzeugt ein LevelListDrawable .

    • Transition Drawable , Eine XML Datei, die ein Drawable definiert, das zwischen zwei Drawable Ressourcen Drawable kann, erstellt ein TransitionDrawable .

    • Inset Drawable , Eine XML Datei, die eine Drawable definiert, die eine andere Drawable um einen bestimmten Abstand Drawable . Dies ist nützlich, wenn eine View einen Hintergrund Drawble , der kleiner ist als die tatsächlichen Schranken der Ansicht.

    • Clip Drawable , Eine XML Datei, die ein Drawable definiert, das ein anderes Drawable auf der Grundlage dieses aktuellen Level-Wertes zeichnet, erstellt ein ClipDrawable .

    • Scale Drawable , Eine XML Datei, die ein Drawable definiert, das die Größe eines anderen Drawable basierend auf seinem aktuellen Drawable ändert, erstellt ein ScaleDrawable .

    • Shape Drawable , Eine XML Datei, die eine geometrische Form definiert, einschließlich Farben und Farbverläufe, erzeugt ein ShapeDrawable .

    Siehe auch das Animationsressourcen-Dokument zum Erstellen eines AnimationDrawable .

    Hinweis: Eine Ddrawable kann auch als Ddrawable in XML . Wenn Sie zum Beispiel einen StateListDrawable , können Sie auf eine StateListDrawable für das android:drawable attribute ( android:drawable="@color/green" ) android:drawable="@color/green" .

    Bitmap

    Ein Bitmap-Bild. Android unterstützt Bitmap-Dateien in drei Formaten: .png (bevorzugt), .jpg (akzeptabel), .gif (entmutigt).

    Sie können eine Bitmap-Datei direkt mit dem Dateinamen als Ressourcen-ID verweisen oder eine Alias-Ressourcen-ID in XML erstellen.

    Hinweis: Bitmap-Dateien können automatisch mit verlustfreier Bildkomprimierung durch das aapt-Tool während des Buildprozesses optimiert werden. Zum Beispiel kann ein echtfarbenes PNG, das nicht mehr als 256 Farben benötigt, mit einer Farbpalette in ein 8-Bit-PNG umgewandelt werden. Dies führt zu einem Bild von gleicher Qualität, das aber weniger Speicher benötigt. Seien Sie also bewusst, dass sich die in diesem Verzeichnis platzierten Bildbinärdateien während des Builds ändern können. Wenn Sie planen, ein Bild als Bitstrom zu lesen, um es in eine Bitmap zu konvertieren, setzen Sie Ihre Bilder in den res/raw/ Ordner statt, wo sie nicht optimiert werden.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.