使用super.ondestroy时,Android MapActivity崩溃



我有一个到目前为止稳定的应用程序,我决定要在其中添加一个MapView。MapView在HorizontalsCrollview中,如果有所不同。我转换了主要活动以扩展mapActivity并添加了isRoutedisplayed()函数。我可以编译并运行它,滚动以查看我的MapView加载正确。

我的问题是super.ondestroy()被调用时。由于某种原因,程序崩溃。

logcat:

10-17 18:32:17.109:E/Androidruntime(5477):引起: java.lang.nullpointerexception 10-17 18:32:17.109: E/AndroidRuntime(5477): com.google.android.maps.mapactivity.ondestroy(mapActivity.java:500) 10-17 18:32:17.109:E/Androidruntime(5477):在 com.appsmith.mapit.mainactivity.ondestroy(MainActivity.java:177)10-17 18:32:17.109:E/Androidruntime(5477): Android.App.ActivityThread.PerformDestroyActivity(ActivityThread.java:2663) 10-17 18:32:17.109:E/Androidruntime(5477):... 11多

 @Override
 public void onDestroy()
 {
        internalSave();
        writeOutLookupTable("Unit");
        gpsManager.removeUpdates(myListener);
        super.onDestroy(); //MainActivity.java Line 177
        finish();
 }

对此进行故障排除的任何建议将不胜感激。

编辑:明白了!我实现了一个与我的onDestroy()具有相同信息的Onpause()(这是我的解决方案,以防止GPS在不使用应用时活跃)。评论Onpause()使一切再次快乐。感谢您的帮助!

您不需要调用饰面();在ondestroy()内,finish()如docs所说:"当您的活动完成并应关闭时,请致电。"因此,如果您在OnDestroy()中

也是super.ondestroy();通常被放在ondestroy()的顶部。

最新更新