IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

"OutOfMemory Error" lors d'un changement d'Activity avec un GridView


Sujet :

Android

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut "OutOfMemory Error" lors d'un changement d'Activity avec un GridView
    Bonjour à tous,

    Je me trouve confronté à une erreur que je n'arrive pas à résoudre. Je voudrai changer d'activité en cliquant sur l'image d'un gridview. Mon code me semble tout à fait juste mais quand je clique sur l'image l'application se stop sans lancer la nouvelle activité et voici ce que me dit le logcat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    08-07 08:47:02.328: D/dalvikvm(612): GC_CONCURRENT freed 1K, 1% free 28508K/28679K, paused 11ms+15ms
    08-07 08:47:28.548: D/dalvikvm(612): GC_FOR_ALLOC freed 5K, 1% free 29057K/29191K, paused 133ms
    08-07 08:47:29.277: D/dalvikvm(612): GC_FOR_ALLOC freed 1320K, 5% free 29624K/31111K, paused 161ms
    08-07 08:47:29.818: I/dalvikvm-heap(612): Clamp target GC heap from 32.169MB to 32.000MB
    08-07 08:47:29.818: D/dalvikvm(612): GC_FOR_ALLOC freed 1K, 1% free 30808K/31111K, paused 134ms
    08-07 08:47:30.218: I/dalvikvm-heap(612): Clamp target GC heap from 33.325MB to 32.000MB
    08-07 08:47:30.218: D/dalvikvm(612): GC_FOR_ALLOC freed <1K, 2% free 31991K/32327K, paused 134ms
    08-07 08:47:30.228: I/dalvikvm-heap(612): Forcing collection of SoftReferences for 1210016-byte allocation
    08-07 08:47:30.437: I/dalvikvm-heap(612): Clamp target GC heap from 33.316MB to 32.000MB
    08-07 08:47:30.437: D/dalvikvm(612): GC_BEFORE_OOM freed 9K, 2% free 31981K/32327K, paused 213ms
    08-07 08:47:30.447: E/dalvikvm-heap(612): Out of memory on a 1210016-byte allocation.
    08-07 08:47:30.447: I/dalvikvm(612): "main" prio=5 tid=1 RUNNABLE
    08-07 08:47:30.447: I/dalvikvm(612):   | group="main" sCount=0 dsCount=0 obj=0x40997460 self=0x12810
    08-07 08:47:30.459: I/dalvikvm(612):   | sysTid=612 nice=0 sched=0/0 cgrp=default handle=1074082952
    08-07 08:47:30.459: I/dalvikvm(612):   | schedstat=( 12032778081 4456485048 993 ) utm=1084 stm=119 core=0
    08-07 08:47:30.459: I/dalvikvm(612):   at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
    08-07 08:47:30.467: I/dalvikvm(612):   at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
    08-07 08:47:30.478: I/dalvikvm(612):   at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
    08-07 08:47:30.478: I/dalvikvm(612):   at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
    08-07 08:47:30.478: I/dalvikvm(612):   at android.content.res.Resources.loadDrawable(Resources.java:1937)
    08-07 08:47:30.487: I/dalvikvm(612):   at android.content.res.Resources.getDrawable(Resources.java:664)
    08-07 08:47:30.497: I/dalvikvm(612):   at android.widget.ImageView.resolveUri(ImageView.java:542)
    08-07 08:47:30.497: I/dalvikvm(612):   at android.widget.ImageView.setImageResource(ImageView.java:315)
    08-07 08:47:30.497: I/dalvikvm(612):   at com.ovice.coverstar.BAGridAdapter.getView(BAGridAdapter.java:49)
    08-07 08:47:30.517: I/dalvikvm(612):   at android.widget.AbsListView.obtainView(AbsListView.java:2012)
    08-07 08:47:30.517: I/dalvikvm(612):   at android.widget.GridView.makeAndAddView(GridView.java:1323)
    08-07 08:47:30.517: I/dalvikvm(612):   at android.widget.GridView.makeRow(GridView.java:328)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.widget.GridView.fillDown(GridView.java:281)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.widget.GridView.fillFromTop(GridView.java:403)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.widget.GridView.layoutChildren(GridView.java:1215)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.widget.AbsListView.onLayout(AbsListView.java:1863)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.527: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.537: I/dalvikvm(612):   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.537: I/dalvikvm(612):   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.550: I/dalvikvm(612):   at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.550: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.550: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.View.layout(View.java:11180)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1468)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.os.Handler.dispatchMessage(Handler.java:99)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.os.Looper.loop(Looper.java:137)
    08-07 08:47:30.557: I/dalvikvm(612):   at android.app.ActivityThread.main(ActivityThread.java:4340)
    08-07 08:47:30.557: I/dalvikvm(612):   at java.lang.reflect.Method.invokeNative(Native Method)
    08-07 08:47:30.557: I/dalvikvm(612):   at java.lang.reflect.Method.invoke(Method.java:511)
    08-07 08:47:30.577: I/dalvikvm(612):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    08-07 08:47:30.577: I/dalvikvm(612):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    08-07 08:47:30.577: I/dalvikvm(612):   at dalvik.system.NativeStart.main(Native Method)
    08-07 08:47:30.587: D/skia(612): --- decoder->decode returned false
    08-07 08:47:30.607: D/AndroidRuntime(612): Shutting down VM
    08-07 08:47:30.607: W/dalvikvm(612): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
    08-07 08:47:30.777: E/AndroidRuntime(612): FATAL EXCEPTION: main
    08-07 08:47:30.777: E/AndroidRuntime(612): java.lang.OutOfMemoryError
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.content.res.Resources.loadDrawable(Resources.java:1937)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.content.res.Resources.getDrawable(Resources.java:664)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.ImageView.resolveUri(ImageView.java:542)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.ImageView.setImageResource(ImageView.java:315)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at com.ovice.coverstar.BAGridAdapter.getView(BAGridAdapter.java:49)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.AbsListView.obtainView(AbsListView.java:2012)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.GridView.makeAndAddView(GridView.java:1323)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.GridView.makeRow(GridView.java:328)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.GridView.fillDown(GridView.java:281)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.GridView.fillFromTop(GridView.java:403)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.GridView.layoutChildren(GridView.java:1215)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.AbsListView.onLayout(AbsListView.java:1863)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.View.layout(View.java:11180)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewGroup.layout(ViewGroup.java:4203)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1468)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.os.Looper.loop(Looper.java:137)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at android.app.ActivityThread.main(ActivityThread.java:4340)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at java.lang.reflect.Method.invokeNative(Native Method)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at java.lang.reflect.Method.invoke(Method.java:511)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    08-07 08:47:30.777: E/AndroidRuntime(612): 	at dalvik.system.NativeStart.main(Native Method)
    Avez vous une idée du problème?

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Tu sature la mémoire de la machine virtuelle.
    Tu devrais vérifier si tu n’instancie pas trop d'objet. Ou si il n'y as pas une conservation de référence sur des objets volumineux.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ta réponse.

    J'instancie juste un gridview avec des images donc je ne pense pas que ça soit trop volumineux mais qu'entends tu par " une conservation de référence sur des objets volumineux"?

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    En java tu ne détruis pas les objets. Ils sont conservés en mémoire tant qu'il y a une référence vers eux. Le rôle du "garbage collector" (gc) est de faire le tri en mémoire et dessaoulé la mémoire lié à des objets non référencés.
    Quand tu as un "Out of memory"; Il y a deux causes possibles :
    Tu cherche a avoir plus d'objet en mémoire que la mémoire peut en contenir.
    Tu conserve des références sur des objets que tu ne considère plus comme utile.

    Typiquement ça va être ton main qui conserve une référence sur l'écran précédent et donc l'ensemble des objets (et images) associées.
    C'est une erreur courant en Java, comme le NullPointerException.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

Discussions similaires

  1. [XL-2013] Erreur lors d'un changement de feuille avec un formulaire ActiveX
    Par mikagi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2015, 19h30
  2. [VB6>VB.NET] Comment coder "break on all errors"
    Par RiiiDD dans le forum VB.NET
    Réponses: 5
    Dernier message: 07/03/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo