调用一个方法并不意味着你离开doWakefulWork
它就结束了。这更像是将方法的代码行复制到调用方法。
所以这里
protected void doWakefulWork(Intent arg0) {
exampleMethod();
exampleMethod2();
}
private void exampleMethod() {
exampleMethod2();
exampleMethod2();
}
private void exampleMethod2() {
print("Hello");
}
和这里做的完全一样
protected void doWakefulWork(Intent arg0) {
{ // exampleMethod()
{ // exampleMethod2()
print("Hello");
}
{ // exampleMethod2()
print("Hello");
}
}
{ // exampleMethod2()
print("Hello");
}
}
或没有所有的大括号
protected void doWakefulWork(Intent arg0) {
print("Hello");
print("Hello");
print("Hello");
}
因此,doWakefulWork
在调用方法时您永远不会离开,WakeLock
因此无法离开。