2013-02-25 12 views
6

So gibt es Fehler, der mir mit heraus etwas in die Spur kommen hält Zusammenhang, hier ist ein Beispiel-Trace:Nullpointer in 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) 

Die anderen Spuren ähnlich sind, mit nur die Zeilennummer variiert: 2484, 2472 und 2476.

Auch die 3 Berichte, die das Gerät erwähnen erwähnen: M865 Huawei Ascend II, die 2,3 auf ihm haben sollte.

Nachdem durch die Quelle der Suche nach 2,1-4,1 (meine app minSdk 7) bei den angegebenen Zeilennummern sind dies die Linien, die den Fehler ausgelöst haben könnte:

2.3.7 - line 2472

2.3.6 - line 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); 
    ... 

Irgendwelche Ideen, was dieses verursacht und wie man es verhindern?

+0

Ich habe das gleiche Problem von meinem letzten Update, irgendwelche Updates zu diesem Thema? –

+0

@MarioLenci Ich denke, es hat etwas mit wenig Speicher Situationen zu tun, in denen der apps-Prozess auf der Stelle getötet werden muss. Gibt es viele OutOfMemory-Ausnahmen? –

+0

Ich würde nicht viel sagen, aber ja, ich habe einen OutOfMemory-Bericht über alte Telefone. Ich denke, ich muss dann nach Lecks suchen. Danke –

Antwort

-1

Nun scheint es, wie Sie Ihre Zuordnung

ActivityClientRecord r = mActivities.get(token); 

kann einen Nullwert zurück. So ein Null-Objekt in

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

Danach würden Sie zugreifen, wenn Sie zwischendurch Validierung von

if (r==null) return; 

Sie würden nicht den Fehler.

+0

Das ist nicht mein Code, es stammt aus der Android-Quelle für Version 2.3.7, also kann ich es nicht ändern. –

+0

ja, tut mir leid. Ich habe diesen Teil nicht verstanden. Ich habe ein ähnliches Problem hier gefunden: http://www.jjoe64.com/2011/06/how-to-fix-activityperformstop.html, aber ich denke nicht, dass es genau das ist, wonach Sie fragen. – DigCamara