J'ai une application Android sur le modèle de l'exemple LunarLander
par Google. Je le débogue sur un vrai appareil, (Motorola Droid
) avec Android 2.0
. Lorsque l'orientation change, le programme se bloque sur un NullPointerException
. Logcat de juste avant l'accident:"Quelque chose ne va pas ici, ne vous attendez pas à PACKAGE être repris" erreur dans android Logcat
02-01 00:24:27.956: DEBUG/nate(8358): Starting Game
02-01 00:24:36.878: DEBUG/dalvikvm(1086): GC freed 1788 objects/92256 bytes in 1389ms
02-01 00:24:38.542: INFO/WindowManager(1021): Setting rotation to 1, animFlags=0
02-01 00:24:38.558: INFO/ActivityManager(1021): Config changed: { scale=1.0 imsi=310/4 loc=en_US touch=3 keys=2/1/2 nav=2/2 orien=2 layout=34}
02-01 00:24:38.620: WARN/UsageStats(1021): Something wrong here, didnt expect org.nifong.leeder to be resumed
02-01 00:24:38.886: DEBUG/nate(8358): New Surface dimensions: 854x442
02-01 00:24:38.886: DEBUG/nate(8358): flies was null
La première ligne qui me préoccupe est "Something wrong here"
à 24:38.620
. Je n'ai aucune idée de ce que cela signifie, mais je pense que c'est parce que je ne réagis pas correctement au changement d'écran.
Ensuite, je reçois un message de débogage dont je me suis imprimé à partir de ma propre méthode surfaceChanged()
sur les nouvelles dimensions de la surface. Ensuite, j'imprimer un message de débogage à savoir si les mouches étaient null
. flies
est le champ qui provoque finalement le NullPointerException
. Son créé une fois, et jamais écrit à nouveau pour le reste du programme. Je sais que ce n'était pas nul avant le crash, car il a été lu plusieurs fois.
Est-ce que quelqu'un a une idée de la façon dont ma variable membre privé est devenu nul simplement par ces indices?
Je voudrais inclure du code mais il y en a beaucoup et je ne sais pas ce qui serait pertinent.
Cela peut être une solution pour votre application, en fonction de votre cas d'utilisation. À mon avis, c'est un comportement grossier forçant l'utilisateur dans un comportement d'utilisation qu'il déteste peut-être ... – Janusz