我試圖將 a 的執(zhí)行延遲Runnable很長(zhǎng)時(shí)間(大約幾個(gè)小時(shí))。由于我必須更改的值僅影響 UI,因此當(dāng)應(yīng)用程序被殺死時(shí),runnable 沒(méi)有必要執(zhí)行。使用 AlarmManager 或 Job 將效率低下,因?yàn)槿绻麘?yīng)用程序關(guān)閉,它們將重新打開(kāi)應(yīng)用程序。我的用例的完美候選者是Handler,但不幸的是,Runnable它并沒(méi)有在這么長(zhǎng)的延遲下執(zhí)行。我也嘗試過(guò)Timer,ScheduledThreadPoolExecutor和其他使用線程的解決方案,但沒(méi)有成功。你知道我如何才能實(shí)現(xiàn)我所需要的嗎?
2 回答

DIEA
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊
我做過(guò)一次..您可以在共享首選項(xiàng)中保存時(shí)間,并且每次打開(kāi)應(yīng)用程序時(shí)檢查現(xiàn)在的時(shí)間是否大于您在 3 小時(shí)內(nèi)保存的時(shí)間,然后執(zhí)行您的功能..
添加回答
舉報(bào)
0/150
提交
取消