2016-12-01 3 views
0

Ich habe diese Anwendung, die Bilder von einem Web-Service mit dem Image Loader 1.9.3-Bibliothek lädt und mit Handys mit wenig Speicher der Bildlader gibt Speichermangel Ausnahme, die nur im Protokoll sichtbar ist Katze. Die Ausnahme macht mir nichts aus, aber ich möchte, dass die Ausnahme durch einen Toast für den Benutzer sichtbar ist, damit er weiß, warum die Bilder nicht mehr geladen werden. Irgendwelche Ideen bitteNicht genügend Speicher Fehler Image Loader

+0

Verwendung glide .Seine schnellere Speicherproblem .http vermeiden: //www.androidhive.info/2016/04/android-glide-image-library-building-image- gallery-app/ –

+0

verkleinern sie ihre bildgröße –

+0

jungs ich dont die bilder nicht laden, ich will nur die ausnahme gefeuert von der bild loader –

Antwort

1

Ihre Bilder sind zu groß im Vergleich zur Größe Ihrer ImageView.

Ich empfehle Ihnen, Picasso zu verwenden.

mit diesem können Sie Ihr Bild nach Ihren Bedürfnissen anpassen.

Picasso.with(this).load(image_link) 
    .resize(100, 100) 
    .placeholder(R.drawable.placeholder) 
    .error(R.drawable.placeholder) 
    .into(imageView); 

Glückliche Kodierung.

+0

Ich persönlich bevorzuge [Glide] (https://github.com/bumptech/glide) über Picasso – EpicPandaForce

+0

und es liegt ganz bei Ihnen. Deine Aufgabe ist es, das Bild zu verkleinern. Sie können es mit beiden tun, denke ich. –

0

Vielleicht sind Ihre Bilder zu groß, wenn Sie sie heruntergeladen haben. Ein einzelnes Bild mit 800 x 600 Pixel wird weniger als 100 KB groß sein, wenn JPG komprimiert wird. Wenn Sie es jedoch in eine Bitmap decodieren, wird es ca. 2 MB Daten. Wenn Sie 80 Bücher laden, erhalten Sie sehr bald 160 MB Daten. Sie sollten weniger Bücher laden (20) oder die Größe Ihrer Bilder vom Server reduzieren.

Normalerweise druckt logcat eine Exception, die Ihnen anzeigt, was die OutOfMemoryException verursacht. Als ich diese Ausnahme bekam, wurde es immer von zu großen oder zu vielen Bildern auf einmal verursacht.

0

Try

android:largeHeap="true" 

in Ihrer mainfeist Datei app-> SRC-> Hauptordner

<application 
    android:name="com.xxxxxxxxxxxxxx" 
    android:icon="@drawable/app_icon" 
    android:label="@string/app_name" 

    android:largeHeap="true" 

    android:theme="@style/myAppTheme"> 

    <activity 
     android:name="com.xxxxxxxxxxxxxx" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

hinzufügen Datei entschlüsseln Sie diese https://stackoverflow.com/a/823966/4741746

Das können Lösung Arbeit für mich ist https://stackoverflow.com/a/13226245/4741746

Lassen Sie mich wissen, wenn nicht woking

+0

Es ist lustig, weil das 'android: largeHeap =" true "' wirklich eine gute Idee ist. Ich habe Xiaomi-Geräte gesehen, die sagen, dass ein "out of memory error" für völlig normale Bilder vorliegt, die bereits von Glide verändert wurden. – EpicPandaForce

Verwandte Themen