2013-02-25 17 views
6

Więc nie jest błąd, który utrzymuje wymyślanie niczego w ślad związanej mi o to ślad próbki:NullPointerException w android.app.ActivityThread.handleStopActivity

java.lang.NullPointerException 
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:2484) 
at android.app.ActivityThread.access$1800(ActivityThread.java:117) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:948) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3695) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
at dalvik.system.NativeStart.main(Native Method) 

Pozostałe ślady są podobne tylko z zmienny numer linii: 2484, 2472 i 2476.

Również 3 raporty wspominające urządzenie wspominają: M865 Huawei Ascend II, który powinien mieć 2,3 na nim.

Po patrząc przez źródło do 2.1 - 4.1 (moim app minSdk jest 7) ​​przy podanych numerów linii są linie, które mogłyby rzucić błąd:

2.3.7 - Line 2472

2.3.6 - linia 2472

private final void handleStopActivity(IBinder token, boolean show, int configChanges) { 
    ActivityClientRecord r = mActivities.get(token); 
    r.activity.mConfigChangeFlags |= configChanges; // line 2472 

    StopInfo info = new StopInfo(); 
    performStopActivityInner(r, info, show); 
    ... 

Jakieś pomysły co jest przyczyną i jak temu zapobiec?

+0

Mam ten sam problem z mojej ostatniej aktualizacji, jakieś aktualizacje na ten temat? –

+0

@MarioLenci Wydaje mi się, że ma to coś wspólnego z sytuacjami, w których brakuje pamięci, gdzie proces aplikacji musi zostać zabity na miejscu. Czy doświadczasz wyjątków 'OutOfMemory'? –

+0

Nie mówię dużo, ale tak, mam raport OutOfMemory na starych telefonach. Chyba muszę polować na przecieki. Dzięki –

Odpowiedz

-1

Cóż, wydaje się, że Twoje zadanie

ActivityClientRecord r = mActivities.get(token); 

może zwrócić wartość null. Po tym można byłoby dostępu do obiektu null w

r.activity.mConfigChangeFlags |= configChanges; // line 2472 

Tak więc, jeśli w między walidacji przez

if (r==null) return; 

byś nie pojawia się błąd.

+0

To nie jest mój kod pochodzący ze źródła Androida dla wersji 2.3.7, więc nie mogę go zmienić. –

+0

tak, przepraszam. Nie złapałem tej części. Znalazłem podobny problem tutaj: http://www.jjoe64.com/2011/06/how-to-fix-activityperformstop.html, ale nie sądzę, że jest to dokładnie to, o co prosisz. – DigCamara

Powiązane problemy