在我寫的一個Android庫中,我有一個隊列,它有不斷排隊和排隊的元素。需要的規範是隊列中的元素不會丟失。所以,如果應用程序關閉,我必須以某種方式保存隊列。在Android應用程序關閉之前是否可以保存到數據庫?
我有兩個選擇:
1)理想情況下,我可以在隊列保存到一個SQLite數據庫的應用程序關閉時。但是,我不確定如何檢測到這一點,或者即使可能。通過這種方式,我可以在下次打開應用程序時重新加載從未出隊的隊列元素。如果有人能告訴我如何從庫中檢測應用程序(而不是活動),這將非常有幫助。 2)如果這是不可能的,我可以將隊列直接寫入數據庫,以便每次插入和刪除。然而,這是非常低效的,而且對我的圖書館來說太慢了。
解決此問題的最佳方法是什麼?
如果用戶按HOME鍵(活動未完成),然後Android會在一段時間後終止該過程,則這不起作用。 – CommonsWare
我相信這是爲了活動,而不是應用程序。 – bclymer
我知道這是爲了活動,但是如果他在這個階段將數據保存到數據庫中,他會是安全的。在OnPause之後,其他事件可能不會被調用,並且如果操作系統認爲有必要,整個應用程序可能會被終止。 – neo