我最近進入了Android開發,對於savedInstanceState是如何工作的,我有點困惑。假設我正在製作遊戲,並且我想保存玩家的分數,我能否在onSavedInstanceState()
期間將它保存到savedInstanceState Bundle中,並始終能夠從中檢索分數,無論設備是關閉還是用戶只是完全關閉了應用程序?如何在Android中恢復數據?
0
A
回答
0
工作,那會暫時的。
數據保存在內存中,直到應用程序被活着或被操作系統殺死(缺少內存),換句話說,如果您強制關閉應用程序(關閉設備或關閉應用程序),則不使用onSaveInstanceState。
但是,如果你想永久存儲數據,你將不得不使用SharedPreferences和SQLite數據庫。
0
我不知道我完全理解你,但讓我接你,然後如果你的意思
的savedInstanceState無關與遊戲存檔,保存遊戲通常要告訴我,當如果用戶通過按home鍵關閉遊戲,例如你會自動爲他保存遊戲,你應該通過覆蓋其中一個Activity方法來實現,onPause()是你最好的選擇,因爲即使用戶重新啓動他的手機,你也想保留這個保存。
看到了活動的生命週期: http://developer.android.com/training/basics/activity-lifecycle/index.html
在另一方面,savedInstanceState是使用Android的臨時保存活性的機制,如果用戶又回到了比賽之前,直接與活動完全變被操作系統殺死,你可以恢復活動的狀態,而不是從開始加載遊戲並進入開始菜單。
這個原則通常不僅僅在遊戲中。
總結它:savedInstanceState是一種方法來恢復您的活動形式的內存之前,它被殺死,而不是再次加載它。這不是一個辦法premenantlly保存設備
上的數據,如果這是你想要的,那麼你可以詢問如何。如果你的問題是捆綁對象是多少保持mememory與savedInstanceState
相關問題
- 1. Android:如何保存/恢復數據
- 2. 如何在Talend中恢復數據庫連接的恢復?
- 3. 如何在mysql中恢復數據庫?
- 4. 如何在orientdb中恢復數據?
- 5. 如何在Android中恢復inApp購買?
- 6. 如何在Android中恢復消息?
- 7. 如何在Android中恢復證書?
- 8. 如何從Heroku中恢復數據Postgres
- 9. 如何恢復Oracle表中的數據?
- 10. 如何恢復MYSQL中的數據? ?
- 11. 如何使用微軟的API恢復/恢復ESE數據庫
- 12. 在Android中恢復片段:
- 13. 備份和恢復數據庫android studio
- 14. MySQL錯誤的恢復數據恢復
- 15. 如何在RMAN中恢復?
- 16. 如何恢復MobileFirst7.1分析數據
- 17. 如何恢復「rm」刪除的數據?
- 18. 如何從WAMP恢復MySQL數據庫?
- 19. 如何從C#恢復數據庫
- 20. 如何恢復postgres數據庫
- 21. 如何恢復mysql數據庫
- 22. 如何從pcap文件恢復數據?
- 23. MySQL - 恢復數據
- 24. 恢復數據庫
- 25. 數據庫恢復
- 26. 從laravel數據庫中恢復數據
- 27. 在ElasticSearch中如何從副本中恢復數據?
- 28. 我如何從Firebase將數據恢復到android?
- 29. 備份後如何恢復SQLite數據庫的Android
- 30. 如何將Android上的SQLite數據庫備份/恢復到Dropbox
如果你的數據很少使用shared pref – KOTIOS 2014-09-05 01:27:14