我的 MainActivity.java 中有一個回圈:
public class MainActivity <...> {
Handler handler = new Handler();
Runnable runnable;
int delay = 15000;
}
@Override
public void onResume() {
//super.onResume();
handler.postDelayed(runnable = new Runnable() {
public void run() {
handler.postDelayed(runnable, delay);
Log.d("myTag", "This is my message");
}
}, delay);
super.onResume();
}
如前所述,開始時,動作每 15 秒運行一次(不準確,有時是 13 秒,有時是 16 秒,等等,但隨著它繼續運行)在某個時刻開始每秒運行一次:
最后條目的 Logcat:
2021-12-08 18:06:35.329 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:38.135 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:39.318 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:39.667 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:48.967 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:50.330 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:53.138 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:54.320 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:06:54.669 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:07:03.968 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:07:05.332 25533-25533/com.app.xxxx D/myTag: This is my message
2021-12-08 18:07:08.140 25533-25533/com.app.xxxx D/myTag: This is my message
有任何想法嗎?為什么會這樣?
uj5u.com熱心網友回復:
正如@JayC667 所說,每次onResume()呼叫時您都會發布此資訊。因此,您將擁有此運行的多個副本。為了防止這種情況,您可以發布您Runnable的資訊onCreate()或確保洗掉任何發布Runnable在onPause().
uj5u.com熱心網友回復:
如果它每秒運行一次試試這個
Int count =0;
If (count == 15){
Count =0;
Your code here
} Else {count }
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/376629.html
