Mon application toujours arrêt dans l'intervalle de temps aléatoire (la plupart du temps de quelques minutes à quelque chose comme 20 minutes). La boîte de message "L'application a cessé de fonctionner" s'affiche. Le plus gros problème est que je ne fais rien dans l'application (comme interagir avec elle), et c'est juste un arrêt aléatoire par lui-même. Voici logcat print:Fermeture de l'application soudaine sans faire d'activité, lance IllegalStateException surMeasure()
07-15 20:34:16.595 27361-27363/test.game D/dalvikvm: GC_CONCURRENT freed 141
9K, 44% free 13902K/24391K, paused 4ms+9ms, total 66ms
07-15 20:34:28.997 27361-27363/test.game D/dalvikvm: GC_CONCURRENT freed 1416K, 43% free 13903K/24391K, paused 3ms+7ms, total 56ms
07-15 20:34:29.418 27361-27361/test.game D/AndroidRuntime: Shutting down VM
07-15 20:34:29.418 27361-27361/test.game W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x412b52a0)
07-15 20:34:29.498 27361-27361/test.game E/AndroidRuntime: FATAL EXCEPTION: main java.lang.IllegalStateException: onMeasure() did not set the measured dimension by calling setMeasuredDimension()
at android.view.View.measure(View.java:15293)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
at android.view.View.measure(View.java:15288)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
at android.view.View.measure(View.java:15288)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15288)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15288)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4876)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2397)
at android.view.View.measure(View.java:15288)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1974)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1217)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1390)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1113)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
On dirait, c'est parce que je n'ai pas écrit setMeasuredDimension()
lorsque la méthode remplaçant onMeasure()
. En outre, les docs disent que vous devez écrire cette ligne sur votre onMeasure, sinon l'exception IllegalStateException sera lancée (see it here).
Mais je ne onMeasure
pas partout PRÉPONDÉRANTS dans mon projet tout, donc problème n'est pas ici (au moins pas de mon côté dans ce cas).
Peu de choses à noter:
- ce journal complet est logcat, et l'une de ces lignes ("à android ....") Ne lie pas à mon code, tout va à la source - cela signifie que tous ces liens sont gris
- cette exception se produit toujours uniquement sur mon S3 Mini (android 4.1.2), mais jamais est arrivé sur mon ancien Galaxy Ace S5830i (android 2.3.6) (et oui , Je l'ai testé beaucoup - plus de 20 heures sur le vieux téléphone et l'application fonctionne encore!).
- n'a jamais eu lieu dans l'émulateur
- il n'y a pas des opérations « vue redimensionnement » en cours d'exécution en arrière-plan, ce qui pourrait provoquer cette exception
Je voudrais un peu de code, mais je n'ai absolument aucune idée où cette exception pourrait être jeté.
Si quelqu'un peut aider, je serais vraiment, vraiment reconnaissant. Je suis perdu à ce stade ...
Donc, vous pensez que cela pourrait causer, après un certain temps, une vue inexistante? J'ai peu d'entre eux référé comme une vue statique. En passant, j'ai un viewPager dans mon application, que je considère comme viewPager statique aussi. Je vais regarder. – BlackJack
Semble être la cause la plus probable. Tout le meilleur frère! De telles erreurs sont les plus difficiles à trouver et à corriger. –
Merci, mais rendre viewPager non-statique n'a pas aidé :(Je vais essayer de réduire plus de vues statiques dans mon application, mais c'était le plus grand espoir: / – BlackJack