我最近被推遲更新我的應用以使用谷歌地圖API v2。 (谷歌最終終止了爲v1授予API密鑰的權利。)我已經實現了新API,與我的應用程序一樣工作,以達到我的滿意。除此之外,我注意到發生了一個奇怪的錯誤。更新到新的Android Google Maps API v2後,奇怪的NullPointerException崩潰
當我轉到使用SupportMapFragment的活動時,按回到上一個活動,然後再次前進到SupportMapFragment活動,它將隨機崩潰...有時很快,有時需要一分鐘。唯一改變的是我使用新的API,因此重構的代碼使用新的API。
04-25 08:00:24.415: W/dalvikvm(12746): threadid=28: thread exiting with uncaught exception (group=0x40b9f930)
04-25 08:00:24.445: E/AndroidRuntime(12746): FATAL EXCEPTION: Thread-1711
04-25 08:00:24.445: E/AndroidRuntime(12746): java.lang.NullPointerException
04-25 08:00:24.445: E/AndroidRuntime(12746): at libcore.net.http.RequestHeaders.addCookies(RequestHeaders.java:285)
04-25 08:00:24.445: E/AndroidRuntime(12746): at libcore.net.http.HttpEngine.prepareRawRequestHeaders(HttpEngine.java:724)
04-25 08:00:24.445: E/AndroidRuntime(12746): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:217)
04-25 08:00:24.445: E/AndroidRuntime(12746): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:282)
04-25 08:00:24.445: E/AndroidRuntime(12746): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:495)
04-25 08:00:24.445: E/AndroidRuntime(12746): at maps.z.bk.run(Unknown Source)
04-25 08:00:24.475: W/ActivityManager(517): Force finishing activity com.___.___/com.___.___.activities.ActivityWithMap
04-25 08:00:24.625: D/overlay(158): Unset pipe=VG0 dpy=0; Unset pipe=VG1 dpy=0; Unset pipe=RGB1 dpy=0;
04-25 08:00:37.398: I/Process(12746): Sending signal. PID: 12746 SIG: 9
04-25 08:00:37.418: I/ActivityManager(517): Process com.___.___ (pid 12746) has died.
04-25 08:00:37.418: W/ActivityManager(517): Force removing ActivityRecord{4178d2a8 u0 com.___.___/com.___.___.activities.PreviousActivity}: app died, no saved state
04-25 08:00:37.428: W/InputDispatcher(517): channel '41e3b688 com.___.___/com.___.___.activities.PreviousActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
04-25 08:00:37.428: E/InputDispatcher(517): channel '41e3b688 com.___.___/com.___.___.activities.PreviousActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-25 08:00:37.428: W/InputDispatcher(517): Attempted to unregister already unregistered input channel '41e3b688 com.___.___/com.___.___.activities.PreviousActivity (server)'
04-25 08:00:37.428: I/WindowState(517): WIN DEATH: Window{41a48790 u0 com.___.___/com.___.___.activities.ActivityOther}
04-25 08:00:37.428: I/WindowState(517): WIN DEATH: Window{41e3b688 u0 com.___.___/com.___.___.activities.PreviousActivity}
如果有幫助,似乎如果我要回MapFragment活動後關閉屏幕和關閉,以更快地崩潰......
我知道它是與開始的兩次活動,但是我不能在任何會導致這種奇怪的崩潰的地方看到任何東西,另外,它不會發生在v1 ... bleh上。
是否嘗試過谷歌多次試圖弄明白太...
而且,如果這能幫助,異常似乎在一個單獨的線程bk.run(),如堆棧跟蹤注意到發生,但我的應用程序繼續在我的設備上運行,而它在Eclipse中被暫停,直到我讓該線程去,然後應用程序實際崩潰。
我還證實,當我去與地圖片段活動兩次,即使我從來沒有做任何的地圖,甚至呼籲SupportMapFragment的GetMap(),發生崩潰所以它肯定是某種地圖片段問題或Google地圖加載問題。在旋轉也崩潰(如活性被重建)
請發佈整個堆棧跟蹤。真正的原因是降低... – Simon 2013-04-24 22:13:22
是的,請張貼整個痕跡。關閉袖口,這感覺就像是一個Maps V2的bug,但也許我們會看到其他跟蹤可能有用的東西。 – CommonsWare 2013-04-24 22:46:15
編輯,不幸的是,實際的堆棧跟蹤只是我最初發布的...... :(還有幾條線我認爲可能從logcat有用。 – nocnock 2013-04-25 14:32:52