สมมติว่าฉันต้องการดำเนินการบางอย่างทุกๆ 10 วินาทีและไม่จำเป็นต้องอัปเดตมุมมอง
คำถามคือจะดีกว่าไหม (ฉันหมายถึงมีประสิทธิภาพและประสิทธิผลมากกว่า) ในการใช้ตัวจับเวลากับ timertask ดังนี้:
final Handler handler = new Handler();
TimerTask timertask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
<some task>
}
});
}
};
timer = new Timer();
timer.schedule(timertask, 0, 15000);
}
หรือเป็นเพียงตัวจัดการที่มีการล่าช้าภายหลัง
final Handler handler = new Handler();
final Runnable r = new Runnable()
{
public void run()
{
<some task>
}
};
handler.postDelayed(r, 15000);
นอกจากนี้ฉันจะขอบคุณหากคุณสามารถอธิบายได้ว่าเมื่อใดควรใช้วิธีใดและทำไมหนึ่งในนั้นจึงมีประสิทธิภาพมากกว่าอีกวิธีหนึ่ง (ถ้าเป็นจริง)