簡體   English   中英

在Android上恢復應用程序時出現NullPointer異常

[英]NullPointer exception when resuming app on android

我目前正在測試一個應用程序。 這是測試用例。 加載該應用,然后轉到Google排行榜。 然后按“主頁”按鈕並執行其他一些任務。 然后,通過單擊應用程序圖標再次回到該應用程序。 當我這樣做時,我仍然看到以前加載的排行榜。 然后,如果我單擊排行榜上的“后退”按鈕以恢復應用程序,則會發生以下異常。

我還列出了logcat輸出。 我無法調試此命令以查看null為空,因為在此事件之前dubug已被分離。 我該怎么解決?

ava.lang.RuntimeException: Unable to start activity ComponentInfo{XXX: java.lang.NullPointerException
11-03 16:30:04.877: E/AndroidRuntime(619):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)


u=0} from pid 13361
11-09 22:51:02.015    3677-3677/? D/ChimeraCfgMgr﹕ Loading module com.google.android.gms.games from APK com.google.android.play.games
11-09 22:51:02.019    3677-3677/? D/ChimeraModuleLdr﹕ Module APK com.google.android.play.games already loaded
11-09 22:51:02.105   3677-13641/? V/BaseAuthAsyncOperation﹕ All scopes had been granted in the past, skip access token fetching
11-09 22:51:02.160   3677-13641/? V/BaseAuthAsyncOperation﹕ access token request successful
11-09 22:51:02.187      249-283/? I/ActivityManager﹕ Displayed  invalid entry.
11-09 22:51:09.750      249-943/? I/WindowState﹕ WIN DEATH: Window{41fda2b8 com.champ/com.champ.controllers.MainActivity paused=false}
11-09 22:51:09.750      249-494/? I/ActivityManager﹕ Process com.champ (pid 13361) has died.
11-09 22:51:13.836    3677-3677/? D/ChimeraCfgMgr﹕ Loading module com.google.android.gms.games from APK com.google.android.play.games
11-09 22:51:13.836    3677-3677/? D/ChimeraModuleLdr﹕ Module APK com.google.android.play.games already loaded
11-09 22:51:14.773      456-456/? D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 0ms
11-09 22:51:21.773      249-943/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1448K, 17% free 19437K/23303K, paused 82ms, total 91ms
11-09 22:51:21.804  13789-13789/? D/dalvikvm﹕ Late-enabling CheckJNI
11-09 22:51:21.816      249-953/? I/ActivityManager﹕ Start proc com.champ for activity com.champ/.controllers.MainActivity: pid=13789 uid=10063 gids={1015, 1028, 3003}
11-09 22:51:25.586      249-835/? I/ActivityManager﹕ Process com.champ (pid 13789) has died.
11-09 22:51:25.590      249-835/? W/ActivityManager﹕ Force removing ActivityRecord{415b2150 com.champ/.controllers.ErrorActivity}: app died, no saved state
11-09 22:51:25.617  13857-13857/? D/dalvikvm﹕ Late-enabling CheckJNI
11-09 22:51:25.621      249-835/? I/ActivityManager﹕ Start proc com.champ for activity com.champ/.controllers.MainActivity: pid=13857 uid=10063 gids={1015, 1028, 3003}
11-09 22:51:25.687      249-953/? W/InputMethodManagerService﹕ Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41db2610 attribute=null

使用try catch獲取更多信息。

您是否在應用程序或靜態實用程序中保存了一些數據?

因為排行榜之前的頁面被系統殺死。 從排行榜退回時,系統會對其進行重建。

但是某些數據為空。

在這種情況下,您可能使用的某些數據為null。

簡單地:
在從Util獲取數據之前添加檢查。

public getA(){if(a = null){a = b;}返回a; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM