当debugging代码块完成时,Android应用程序closures

我刚刚为现有的Android应用程序设置了开发环境。 一切似乎设置正确,我可以build立应用程序,添加断点和debugging应用程序。 但我注意到一些奇怪的行为,我似乎无法find任何有关的问题。

  1. 当我启动模拟器或运行设备上的应用程序时,我可以走过应用程序,一切都按预期工作
  2. 当我运行debugging器和广告一个断点的断点打好,我可以通过代码。
  3. 当我走出最后一个使用F7(step-into)或F8(step-over)的初始断点的代码块时,应用程序closures,debugging器停止。 在Android监视器> logcat中没有错误。
  4. 如果我做同样的步骤,而是使用F9恢复程序应用程序不closures,一切正常运行。

看来这可能与活动线程完成有关,可能是Android Studiodebugging选项? 我不是很确定,但我仍然是新的android开发。

为什么debugging器要这样停下来? 有没有办法确保你跑到下一个断点?

编辑

我也可以重现这与一个新的Android项目我添加一个断点到OnCreate方法,并逐步完成像他这样

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); <------- Breakpoint added here setContentView(R.layout.activity_main); ...... NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } <------- Application terminates after this line 

看来这是一个错误请参阅问题跟踪链接

如果在方法结束时使用continue而不是step over,则可以解决上述问题。 虽然您可能需要添加额外的日志logging,并将断点放在任何位置,您希望代码在该方法之后,以便稍后debugging方法更简单。

当达到function结束时不要使用跳过,只需使用“简历程序”,然后跳到下一个断点。

你可以尝试一个更好的Android设备,可以承受debugging的负载,而不会崩溃的应用程序。 它发生在我身上,现在我正在使用最适合开发目的的Nexus 5x。

  • Android Volley是否支持SSL?
  • 如何在Android手机上安装APK文件?
  • 我应该在长时间运行的AsyncTask中使用getApplicationContext或Activity.this
  • IOException:读取失败,套接字可能closures – Android 4.3上的蓝牙
  • NDK – 如何在另一个项目中使用生成的.so库
  • Facebook SDK 4.10上的NPE:尝试调用空对象引用上的接口方法java.lang.Object com.facebook.inject.Lazy.get()
  • BroadcastReceiver.onReceive是否总是在UI线程中运行?
  • 系统重新启动后,在广播接收器中显示警告对话框
  • apk必须使用与以前版本相同的证书进行签名
  • “内容提供者”和“SQLite数据库”之间的确切区别
  • 扩展AsyncTask <Void,Void,Void>