在Android上開發時,我遇到了這種有點奇怪的行爲,並且在使用Google搜索時唯一可以找到的答案是這是通過設計,我不應該關心它。Android手機的鎖定屏幕會導致多個後續的onPause/onResume事件
我的應用程序在激活時提取位置數據,而我正要實現一種通過在調用onPause事件時停止位置更新來保留電池的方法,並且稍後在調用onResume事件時恢復提取。
調試時,我注意到這個奇怪的行爲,當鎖定手機時,onPause-> onResume被連續調用三次或更多次,然後以onStop事件結束。 我能找到的唯一答案就像:這就是機器人的工作方式,從不介意。
我想我很好奇,有人可以解釋我需要停止並恢復幾次簡單的子活動嗎?這不會消耗更多的電池,尤其是對於在onResume中有嚴重代碼的大型活動? 有沒有辦法來防止這種情況發生? 只要知道至少我在這些事件中的代碼不會被調用,我可能會很高興,也許有一個if {}塊可以防止不必要的CPU週期。
任何洞察力非常感謝!
謝謝,這可能會。其實我正在尋找更多的細節,爲什麼會發生這種情況,但可能我問的太多了。 – r41n