当我们在调试应用程序的时候,我们或许会在我们的代码里插入几行log语句来看看这里到底发生了什么。比如:
class MainActivity : AppCompatActivity() {
lateinit var retrofit: Retrofit
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupToolbar()
Log.d("MyApp", "Toolbar Set")
initRetrofit()
Log.d("MyApp", "Retrofit Initialized")
var myButton = findViewById<Button>(R.id.search_close_btn)
myButton.setOnClickListener {
Log.d("MyApp", "My Button Clicked")
}
Log.d("MyApp", "Activity Creation Done!")
}
}
这种方法很有效,但如果我们在提交代码之前忘记了删除这些日志,那么它们就会在代码审查的时候中被标记,甚至在我们发布应用时仍然存在。
现在IntelliJ和Android Studio提供了一种解决办法,它允许您创建非暂停性断点。
首先,单击任意一行代码,创建调试断点。然后你可以通过单击右键弹出编辑断点的对话框。你会看到这个:
然后,取消选中Suspend复选框,您会看到更多选项,如下所示:
现在,将代码中的log语句添加到Evaluate and log框中,如下所示:
当你从代码中删除了所有Log语句,并将它们放入断点之后,代码看起来会更干净整洁,如下所示:
class MainActivity : AppCompatActivity() {
lateinit var retrofit: Retrofit
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupToolbar()
initRetrofit()
var myButton = findViewById<Button>(R.id.search_close_btn)
myButton.setOnClickListener {
}
}
}
最后您需要做的就是单击右上方“调试”按钮,在调试模式下运行应用程序,这些日志消息将会显示在调试控制台中。