【发布时间】:2013-03-30 22:38:53
【问题描述】:
当我在手机上快速按返回、返回、返回时,出现以下异常:
java.lang.NullPointerException
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1378)
at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:437)
at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:452)
at android.app.Activity.onBackPressed(Activity.java:2123)
at com.swipemaster.activities.CommonActivity.onBackPressed(CommonActivity.java:16)
at com.swipemaster.activities.MainActivity.access$0(MainActivity.java:1)
at com.swipemaster.activities.MainActivity$1.run(MainActivity.java:62)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
在 Android 4.0.4 和 2 台设备上测试:Sony Xperia MT27i 和 ST23i。在 2.2.1 和 Galaxy Mini 上不会出现此问题。有人可以帮帮我吗?
CommonActivity类:
public class CommonActivity extends Activity
{
@Override
public void onBackPressed()
{
MusicPlayer.continueMusic = true;
super.onBackPressed(); // this is CommonActivity.java:16
}
【问题讨论】:
-
是在许多设备上观察到的,还是在某些特定设备上观察到的? (我在问,因为我检查了 4.0.4_r1.2 和 4.0.4_r1.1 代码,并且在 FragmentManager.java:457 处没有代码)
-
我没有其他4.0.4的设备。崩溃发生在 Sony Xperia MT27i 上。
FragmentManager是一个抽象类,代码在FragmentManagerImpl。 github.com/grantland/android-support-v4/blob/master/src/java/… -
您是在添加一些片段并依赖片段回栈吗?您是否在某些活动的 onResume() 中这样做?
-
它是使用 API 7 编码的。我的代码中没有使用任何片段,也没有使用 backstack。
-
基于stackoverflow.com/questions/6774505/…,问题可能出在某些 onDestroy() 方法中。
标签: android