में त्रुटि मेरे पास Google द्वारा LunarLander
उदाहरण के बाद एक एंड्रॉइड ऐप बनाया गया है। मैं इसे वास्तविक डिवाइस पर डिबग कर रहा हूं, (Motorola Droid
) Android 2.0
के साथ। जब अभिविन्यास बदलता है, तो प्रोग्राम NullPointerException
पर क्रैश हो जाता है। बस दुर्घटना से पहले से 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
पहली पंक्ति है कि चिंता मुझे 24:38.620
पर "Something wrong here"
है। मुझे नहीं पता कि इसका क्या अर्थ है, लेकिन मुझे लगता है कि यह मेरे कारण स्क्रीन परिवर्तन में ठीक से प्रतिक्रिया नहीं दे रहा है।
अगला मुझे एक डीबग संदेश मिलता है जिसे मैंने स्वयं को अपनी सतह surfaceChanged()
के भीतर से नए सतह आयामों के बारे में मुद्रित किया है।
फिर मैं मसौदा संदेश प्रिंट करता हूं कि मक्खियों null
था या नहीं। flies
वह फ़ील्ड है जो अंततः NullPointerException
का कारण बनता है। यह एक बार बनाया गया है, और बाकी कार्यक्रम के लिए फिर से लिखा नहीं है। मुझे पता है कि यह दुर्घटना से पहले शून्य नहीं था, क्योंकि इसे कई बार पढ़ा गया था।
क्या किसी के पास कोई सुराग है कि मेरे निजी सदस्य चर इन सुरागों से कैसे शून्य हो गए?
मैं कोड शामिल करूंगा लेकिन इसमें बहुत कुछ है और मुझे नहीं पता कि प्रासंगिक क्या होगा।
यह आपके उपयोग के मामले के आधार पर आपके ऐप के लिए एक समाधान हो सकता है। मेरे विचार में यह उपयोगकर्ता को एक उपयोग व्यवहार में मजबूर करने का एक कठोर व्यवहार है जिसे वह नापसंद कर सकता है ... – Janusz