| |||||||
Das Thema "Stack Overflow" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 26.06.2011
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| Ich habe ein Problem. Ich möchte gerne in Activity ein ViewFlipper, der aus vielen Bildern bestehen. Beim Hinzufügen kriege ich aber ein OutOfMemoryException. Der Codeschnitt sieht wie folgt aus: Code: nFirst = 0x7f020000 // das erste Bild
nLast = 0x7f020063 // das letzte Bild
ViewFlipper flipper = (ViewFlipper) findViewById(R.id.ViewFlipper01);
// ungefähr 100 Bilder, gesammt größe : 2,1 MB
for (i = nFirst; i < nLast; i++)
{
image = new ImageView(this);
image.setImageResource(i);
flipper.addView(image);
} Code:
06-26 09:46:20.541: WARN/dalvikvm(343): threadid=1: thread exiting with uncaught exception (group=0x40015560)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): FATAL EXCEPTION: main
06-26 09:46:20.571: ERROR/AndroidRuntime(343): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.content.res.Resources.loadDrawable(Resources.java:1709)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.content.res.Resources.getDrawable(Resources.java:581)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.widget.ImageView.resolveUri(ImageView.java:501)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.widget.ImageView.setImageResource(ImageView.java:280)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at gui.cevsen.Cevsen.onClick(Cevsen.java:110)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.view.View.performClick(View.java:2485)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.view.View$PerformClick.run(View.java:9080)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.os.Handler.handleCallback(Handler.java:587)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.os.Handler.dispatchMessage(Handler.java:92)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.os.Looper.loop(Looper.java:123)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at java.lang.reflect.Method.invokeNative(Native Method)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at java.lang.reflect.Method.invoke(Method.java:507)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-26 09:46:20.571: ERROR/AndroidRuntime(343): at dalvik.system.NativeStart.main(Native Method)
06-26 09:46:20.601: WARN/ActivityManager(67): Force finishing activity gui.cevsen/.Cevsen
06-26 09:46:21.161: WARN/ActivityManager(67): Activity pause timeout for HistoryRecord{40573e70 gui.cevsen/.Cevsen} Danke im voraus. |
| | |
| | #2 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
das würde sich ja ganz leicht rausfinden lassen, wenn du einfach mal nur die hälfte nimmst
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #3 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
Bei >10 Bildern würde ich ohnehin eher den ViewSwitcher nehmen. Da kannst Du die Bilder dann lazy und somit auch noch schneller laden.
__________________ Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon. Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten. Tipp: Zum "Danke" sagen gibt es einen Button. ![]() |
| | |
| | #5 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
er meint du sollst nicht alle bilder gleich reinladen. einfach mal 3-5 bilder im speicher halten und beim weiterschalten einfach das letzte weglsöchen und vorne eines dazuladen. so hast keine "gefühlten" ladezeiten und nur wenige bilder im speicher.
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tipps / Erklärung für activity stack, tasks & bundles | biker126 | Android App Entwicklung | 3 | 18.11.2010 19:39 |
| Beenden alles auf Stack liegender activities. | missG | Android App Entwicklung | 0 | 01.11.2010 14:49 |
| Wifi Stack Crash bei 802.11x Netzwerken in 2.1 | lephisto | Motorola Milestone Forum | 0 | 12.04.2010 10:05 |
| Intent zugriff auf Stack | derdiedas | Android App Entwicklung | 0 | 01.04.2010 10:13 |