Aktivität läuft langsam, mit ein paar Bildansicht-s

Ich habe eine Aktivität mit 4 Bilder insgesamt. Sie sind alle im Stil der Auflösung von 1080x1920 Gerät. Wenn ich die Aktivität mit diesen Bildern, die geladen werden, direkt in meine Tätigkeit über das XML, es läuft enorm langsam in meinem Genymotion emulator und lags auf einem echten Android-Gerät.

Hier ist das setup:

<android.support.design.widget.AppBarLayout
...>
<android.support.design.widget.CollapsingToolbarLayout
...>
<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:orientation="vertical"
            app:layout_collapseMode="parallax">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/imageView"
                android:src="@drawable/shot_header"
                android:scaleType="centerCrop" />

 </LinearLayout>
 <android.support.v7.widget.Toolbar
            .../>
 </android.support.design.widget.CollapsingToolbarLayout>
 </android.support.design.widget.AppBarLayout>

Dem ersten Bild ist in einem CollapsingToolbarlayout. Die Auflösung des Bildes ist 1080x649 PNG.

Die content_activity:


Das Bild füllt den übergeordneten Breite.Es ist die Auflösung 1080x772 PNG.

 <ImageView
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:id="@+id/main_image"
    android:layout_below="@+id/shot_error_field"
    android:src="@drawable/forehand_midpng"
    android:adjustViewBounds="true"
    android:scaleType="centerCrop"
    android:layout_marginTop="15dp"/>

Die anderen 2 Bilder sind in einem LinearLayout, Ihre Auflösung ist 500x399

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/main_image">

    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/imageView3"
        android:src="@drawable/forehand_mid_wrong"
        android:layout_weight="1"/>

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" >
    </View>

    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/imageView4"
        android:src="@drawable/forehand_mid_wrong"
        android:layout_weight="1"/>
</LinearLayout>

Zusammenfassen, ich habe eine Aktivität mit 4 ImageViews, gefüllt mit ausreichend dimensionierten Bilder, das sollte kein problem für ein modernes Android-Gerät. Das problem ist, dass diese Aktivität ausgeführt wird extrem langsam und hinken aufgrund des hohen Speicher-Verbrauch.

Mache ich etwas falsch? Wie kann ich weiter optimieren, Bilder?

Ich schaute in die anderen threads- out-of-memory-Problem aber keiner scheint zu schlagen eine Lösung für ein solches problem.

  • Bildansicht in der Regel nicht, wie groß Bilder.
  • Haben Sie versuchen mit android:largeHeap="true"? Dies ist nicht empfehlenswert, aber wenn nichts funktioniert, kann es hilfreich sein.
  • problem ist Bild-Auflösung.. freundlicherweise Größe
  • Wenn Bildansicht doesen ' T wie die Bilder, wie ist die Facebook app noch läuft?
  • wie man die Größe dynamisch für jedes Gerät?
  • largeHeap kann nur verbergen das problem der Mangel an Arbeitsspeicher, aber wird nicht helfen, mit "lags" und "langsam"
  • Sind Sie laden Bilder aus der URL oder aus Drawable.?
  • Bilder werden geladen drawable
  • hast du definieren Sie verschiedene Bilder für verschiedene Geräte-dp ? (Sie wissen, wie drawable-xhdp/ drawable-mdp)
  • Noch Sie verwenden Piscao Bibliothek automatische Zwischenspeicherung

InformationsquelleAutor BabbevDan | 2016-02-05
Schreibe einen Kommentar