Autore Topic: Come gestire molte immagini con GalleryImage?  (Letto 463 volte)

Offline simox2601

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4
  • Sistema operativo:
    Windows
Come gestire molte immagini con GalleryImage?
« il: 16 Novembre 2013, 15:27:56 CET »
0
Ciao a tutti!!

In un'activity dell'app che stò programmando devo visualizzare alcune immagini (da 3 a 7); ricevo un nome dall'activity precedente e a seconda di quel nome ricerco e visualizzo queste immagini all'interno di una cartella che ne comprende qualche centinaio. Lo spazio predisposto alla visualizzazione è di circa metà schermo (poco meno). Il problema stà nel fatto che anche se utilizzo immagini .jpg 1200 x 1200 ma da 10 kb l'una l'app si arresta. Il problema è legato alla memoria allocata se non sbaglio.

Codice: [Seleziona]
11-16 14:15:24.010: E/AndroidRuntime(602): FATAL EXCEPTION: main
11-16 14:15:24.010: E/AndroidRuntime(602): java.lang.OutOfMemoryError
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.Bitmap.nativeCreate(Native Method)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:524)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:499)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.content.res.Resources.loadDrawable(Resources.java:1935)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.content.res.Resources.getDrawable(Resources.java:664)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.ImageView.resolveUri(ImageView.java:542)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.ImageView.setImageResource(ImageView.java:315)
11-16 14:15:24.010: E/AndroidRuntime(602):         at cmd.sva.Activity.RegDaySingleDishRateActivity$ImageAdapter.getView(RegDaySingleDishRateActivity.java:236)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.Gallery.makeAndAddView(Gallery.java:844)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.Gallery.fillToGalleryRightLtr(Gallery.java:798)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.Gallery.fillToGalleryRight(Gallery.java:742)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.Gallery.trackMotionScroll(Gallery.java:382)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.widget.Gallery$FlingRunnable.run(Gallery.java:1456)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.os.Handler.handleCallback(Handler.java:605)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.os.Handler.dispatchMessage(Handler.java:92)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.os.Looper.loop(Looper.java:137)
11-16 14:15:24.010: E/AndroidRuntime(602):         at android.app.ActivityThread.main(ActivityThread.java:4424)
11-16 14:15:24.010: E/AndroidRuntime(602):         at java.lang.reflect.Method.invokeNative(Native Method)
11-16 14:15:24.010: E/AndroidRuntime(602):         at java.lang.reflect.Method.invoke(Method.java:511)
11-16 14:15:24.010: E/AndroidRuntime(602):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-16 14:15:24.010: E/AndroidRuntime(602):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-16 14:15:24.010: E/AndroidRuntime(602):         at dalvik.system.NativeStart.main(Native Method)

Come posso fare per evitare l'arresto?

Grazie in anticipo  :D :D
« Ultima modifica: 16 Novembre 2013, 15:30:03 CET da simox2601 »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Come gestire molte immagini con GalleryImage?
« Risposta #1 il: 16 Novembre 2013, 16:23:21 CET »
0
Ti consiglio di leggere questo articolo:

http://developer.android.com/training/displaying-bitmaps/index.html

Inviato dal mio Nexus 5 utilizzando Tapatalk


Offline simox2601

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4
  • Sistema operativo:
    Windows
Re:Come gestire molte immagini con GalleryImage?
« Risposta #2 il: 17 Novembre 2013, 15:41:47 CET »
0
Ti consiglio di leggere questo articolo:

Displaying Bitmaps Efficiently | Android Developers

Inviato dal mio Nexus 5 utilizzando Tapatalk

Ciao!! Grazie:) Ho letto ma purtroppo non ci ho capito tanto :(