延遲5分鐘執行任務

需求:當前的Activity,按HOME鍵切換到後臺,如果5分鐘都不再使用,則清理資源

實現方式:

1    如果要清理的只是界面上控件的狀態,那麼,可以在界面切換到後臺時,記錄下時間。當界面再次打開時,判斷當前時間與剛纔記錄的時間間隔,如果大於5分鐘,則清理控件的狀態。

2   如果要清理的不只是控件的狀態,比如當Activity切換到後臺時,生成一個通知,那麼5分鐘後不操作,要清除這個通知。這時就需要向AlarmManager提交一個任務,5分鐘後喚醒執行。


方式1屬於“被動型”,後臺不需要設置定時任務,只是計算界面再次打開時的間隔

方式2屬於“主動型”,要設置一個定時任務


如果時間間隔較短,可以用timer來實現定時任務,但是要保證擁有cpu鎖,防止系統休眠。對於時間間隔較長的,則只能用AlarmManager了,防止耗電.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章