需求:當前的Activity,按HOME鍵切換到後臺,如果5分鐘都不再使用,則清理資源
實現方式:
1 如果要清理的只是界面上控件的狀態,那麼,可以在界面切換到後臺時,記錄下時間。當界面再次打開時,判斷當前時間與剛纔記錄的時間間隔,如果大於5分鐘,則清理控件的狀態。
2 如果要清理的不只是控件的狀態,比如當Activity切換到後臺時,生成一個通知,那麼5分鐘後不操作,要清除這個通知。這時就需要向AlarmManager提交一個任務,5分鐘後喚醒執行。
方式1屬於“被動型”,後臺不需要設置定時任務,只是計算界面再次打開時的間隔
方式2屬於“主動型”,要設置一個定時任務
如果時間間隔較短,可以用timer來實現定時任務,但是要保證擁有cpu鎖,防止系統休眠。對於時間間隔較長的,則只能用AlarmManager了,防止耗電.