Fatal signal 11 (SIGSEGV) à 0 x 00000000 (code=1), le fil 32140
50% du temps lors de l'exécution de mon application, j'obtiens cette erreur
06-20 12:56:51.183: A/libc(32140): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 32140 (example.www)
Je n'ai qu'à lancer l'application et il fonctionne. Mais je ne sais pas pourquoi j'obtiens cette erreur et l'application se bloque.
Je travaille avec de grandes images avec les dimensions, presque 1200x1200px et en le définissant comme un arrière-plan. J'ai aussi utiliser cette image comme une image bitmap pour d'autres activités comme arrière-plan. Également faire des appels pour un serveur et d'obtenir des données JSON en arrière.
Espérons que j'ai donné assez d'informations, car je ne sais pas quoi chercher...
Je suis en développement pour 4.1.2
Complète Logcat
06-20 13:02:38.823: W/ActivityThread(4102): Application eu.sexample.www can be debugged on port 8100...
06-20 13:02:38.983: D/dalvikvm(4102): GC_FOR_ALLOC freed 114K, 7% free 12283K/13191K, paused 13ms, total 13ms
06-20 13:02:38.988: I/dalvikvm-heap(4102): Grow heap (frag case) to 18.398MB for 5954576-byte allocation
06-20 13:02:39.008: D/dalvikvm(4102): GC_CONCURRENT freed 1K, 5% free 18096K/19015K, paused 12ms+1ms, total 22ms
06-20 13:02:39.053: D/dalvikvm(4102): GC_FOR_ALLOC freed 0K, 5% free 18097K/19015K, paused 10ms, total 10ms
06-20 13:02:39.088: I/dalvikvm-heap(4102): Grow heap (frag case) to 41.112MB for 23818256-byte allocation
06-20 13:02:39.103: D/dalvikvm(4102): GC_CONCURRENT freed 0K, 3% free 41357K/42311K, paused 3ms+1ms, total 16ms
06-20 13:02:39.168: D/dalvikvm(4102): GC_FOR_ALLOC freed 5815K, 16% free 35916K/42695K, paused 10ms, total 10ms
06-20 13:02:39.193: E/Location(4102): 51.1878642, 4.3802626
06-20 13:02:39.283: D/libEGL(4102): loaded /system/lib/egl/libEGL_mali.so
06-20 13:02:39.283: D/libEGL(4102): loaded /system/lib/egl/libGLESv1_CM_mali.so
06-20 13:02:39.288: D/libEGL(4102): loaded /system/lib/egl/libGLESv2_mali.so
06-20 13:02:39.288: D/(4102): Device driver API match
06-20 13:02:39.288: D/(4102): Device driver API version: 10
06-20 13:02:39.288: D/(4102): User space API version: 10
06-20 13:02:39.288: D/(4102): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
06-20 13:02:39.323: D/OpenGLRenderer(4102): Enabling debug mode 0
06-20 13:02:42.413: D/dalvikvm(4102): GC_FOR_ALLOC freed 448K, 14% free 37130K/42695K, paused 13ms, total 13ms
06-20 13:02:42.423: I/dalvikvm-heap(4102): Grow heap (frag case) to 42.664MB for 5954576-byte allocation
06-20 13:02:42.433: D/dalvikvm(4102): GC_CONCURRENT freed 4K, 12% free 42941K/48519K, paused 2ms+2ms, total 13ms
06-20 13:02:42.478: D/dalvikvm(4102): GC_FOR_ALLOC freed 0K, 12% free 42941K/48519K, paused 10ms, total 10ms
06-20 13:02:42.478: I/dalvikvm-heap(4102): Forcing collection of SoftReferences for 23818256-byte allocation
06-20 13:02:42.498: D/dalvikvm(4102): GC_BEFORE_OOM freed 9K, 12% free 42931K/48519K, paused 19ms, total 19ms
06-20 13:02:42.498: E/dalvikvm-heap(4102): Out of memory on a 23818256-byte allocation.
06-20 13:02:42.498: I/dalvikvm(4102): "main" prio=5 tid=1 RUNNABLE
06-20 13:02:42.498: I/dalvikvm(4102): | group="main" sCount=0 dsCount=0 obj=0x41585508 self=0x415758c8
06-20 13:02:42.498: I/dalvikvm(4102): | sysTid=4102 nice=0 sched=0/0 cgrp=apps handle=1074532144
06-20 13:02:42.498: I/dalvikvm(4102): | schedstat=( 2709445063 154759556 1906 ) utm=227 stm=43 core=2
06-20 13:02:42.498: I/dalvikvm(4102): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
06-20 13:02:42.498: I/dalvikvm(4102): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:623)
06-20 13:02:42.498: I/dalvikvm(4102): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:476)
06-20 13:02:42.503: I/dalvikvm(4102): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781)
06-20 13:02:42.503: I/dalvikvm(4102): at android.content.res.Resources.loadDrawable(Resources.java:1963)
06-20 13:02:42.503: I/dalvikvm(4102): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
06-20 13:02:42.503: I/dalvikvm(4102): at android.view.View.<init>(View.java:3436)
06-20 13:02:42.503: I/dalvikvm(4102): at android.view.View.<init>(View.java:3371)
06-20 13:02:42.503: I/dalvikvm(4102): at android.view.ViewGroup.<init>(ViewGroup.java:426)
06-20 13:02:42.503: I/dalvikvm(4102): at android.widget.RelativeLayout.<init>(RelativeLayout.java:184)
06-20 13:02:42.503: I/dalvikvm(4102): at java.lang.reflect.Constructor.constructNative(Native Method)
06-20 13:02:42.503: I/dalvikvm(4102): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.createView(LayoutInflater.java:587)
06-20 13:02:42.508: I/dalvikvm(4102): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-20 13:02:42.508: I/dalvikvm(4102): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-20 13:02:42.508: I/dalvikvm(4102): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.Activity.setContentView(Activity.java:1924)
06-20 13:02:42.508: I/dalvikvm(4102): at eu.sexample.www.MainActivity.onCreate(MainActivity.java:28)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.Activity.performCreate(Activity.java:5206)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.ActivityThread.access$600(ActivityThread.java:140)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
06-20 13:02:42.508: I/dalvikvm(4102): at android.os.Handler.dispatchMessage(Handler.java:99)
06-20 13:02:42.508: I/dalvikvm(4102): at android.os.Looper.loop(Looper.java:137)
06-20 13:02:42.508: I/dalvikvm(4102): at android.app.ActivityThread.main(ActivityThread.java:4898)
06-20 13:02:42.508: I/dalvikvm(4102): at java.lang.reflect.Method.invokeNative(Native Method)
06-20 13:02:42.508: I/dalvikvm(4102): at java.lang.reflect.Method.invoke(Method.java:511)
06-20 13:02:42.513: I/dalvikvm(4102): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
06-20 13:02:42.513: I/dalvikvm(4102): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
06-20 13:02:42.513: I/dalvikvm(4102): at dalvik.system.NativeStart.main(Native Method)
06-20 13:02:42.513: A/libc(4102): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 4102 (example.www)
- avez-vous utilisé le multi-threading dans votre application??
- Vous pouvez poster ici compléter LogCat?
- ajouté complète logcat. Par le multi-threading, vous voulez dire asynctask? Alors oui, je suis en utilisant asyncTasks pour les activités du réseau
Vous devez vous connecter pour publier un commentaire.
La véritable erreur est
Out of memory on a 23818256-byte allocation
. Vous êtes en essayant de répartir les a ~22 MO bloc de mémoire, et vous n'avez pas beaucoup d'espace mémoire disponible, et encore moins un bloc contigu que les grandes.Dans ce cas, ce qui est à venir à partir d'un drawable de ressources. ~22 MO serait vraiment une énorme image, plus comme 2400x2400 que 1200x1200.
Votre processus de taille de segment de mémoire est 48MO, qui est importante, mais ~22 MO est presque la moitié de votre tas de budget.
Je vous recommande de trouver qui drawable ressource c'est (qui ressemble à ce pourrait être une toile de fond d'un
RelativeLayout
), puis de réduire sa taille et la taille des images similaires. Ici, par "taille", je veux dire de pixels au total, pas la taille du disque, que ce qui compte c'est la taille décompressée dans la RAM, pas la taille que l'image sur le disque.Aussi, cela peut être un problème de répertoires de ressources. Par exemple, si vous mettez votre 1200x1200 image dans
res/drawable/
, qui effectivement est synonyme deres/drawable-mdpi/
. Si ce dispositif s'avère être un-xhdpi
de l'appareil, cela pourrait expliquer l'utilisation de la mémoire, comme Android va essayer de suréchantillonner cette image et double de chacune des dimensions.res/drawable-nodpi/
. Je n'ai pas utiliser de grandes images de fond comme cela, mais je pense que cela va aider. Cela étant dit, vous n'allez pas être en mesure d'avoir plus d'un couple de 1200x1200 drawable de ressources, même si elles ne sont pas mis à l'échelle pour 2400x2400 lorsqu'ils sont chargés.-tvdpi
pour la Nexus 7), mais il s'agit généralement de réduire la résolution à partir d'une densité plus élevée de l'image (par exemple,-tvdpi
permettrait de diminuer la-hdpi
ou-xhdpi
), qui limite la quantité de mémoire à l'échelle réduite de l'image de la consommer.res/drawable/xhdpi
et tout a bien fonctionné! Merci encore une fois!fatal signal 11 (sigsegv) at (code=1)
des messages ne contenant AUCUNE trace de la pile d'être signalé. Toutes les suggestions sur comment je peux déterminer ce qui est à l'origine du problème sur le S3? (BTW, j'ai mis que les grandes .png dans les deux mdpi et la hdpi drawable dossiers. Le fait d'aider ou de nuire à cette problème?)Fatal signal 11 (SIGSEGV) at 0x00000018
une idée?Dans votre AndroidMenifest.
<application.... android:hardwareAccelerated="false" />
Fonctionne pour moi.
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);