我想检查为什么有时我的invalidate()不会调用onDraw。 1步:我在invalidate()上设置断点。
2步:点击" Step Into"按钮(也试过"强制进入")。但调试器不在invalidate()内。它改为getElevation()。为什么呢?
另外,我尝试在行类的invalidate(true);中设置一个断点在View类的invalidate()方法中。但它仍然无法到达。它说"没有可执行代码..."。
答案 0 :(得分:1)
我部分地解决了。 设备版本必须与SDK源版本,compileSdkVersion,buildToolsVersion,targetSdkVersion相同。
在我的案例中,SDK源API 24。
的build.gradle:
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
targetSdkVersion 24
...
}
现在跟踪工作(仅在API 24设备上使用这些参数)但断点仍然不起作用(相同无可执行代码错误)。
答案 1 :(得分:0)
您可以尝试为build.gradle中的targetSdkVersion下载 Android SDK源代码,看看是否可以在方法内调试。
但请注意,最新的Android API 25还没有可用的源代码。