在我的應用程序,我有一個單獨的類與所有活動通信,並擁有所有的應用數據。 突然間,對象已經開始變爲空。 這似乎是發生當我改變頂層活動(使用意圖)。 有一個簡單的方法確保只要我的活動是可見的對象仍然存在。如何使Android的Singleton對象持久
-2
A
回答
0
如果是我,我會用Service
而不是單以管理跨活動共享應用程序數據。它將更加強大。
更多信息,請參見Services Developer Guide。
0
您必須使用單錯了,一個單獨的對象應該是應用生命週期的持續時間期間內有效。此應用程序中的活動是否被重新創建和銷燬並不重要。但是,如果你的單例引用了活動(例如活動上下文,活動變量像小部件),那麼在某些時候,這些變量/上下文可能是無效的,即使單例對象本身仍然有效。
1
我認爲一個新的頂級活動是在新的進程(在http://developer.android.com/reference/android/app/Activity.html#ProcessLifecycle字裏行間)製成。
Android是更可能殺死生活在背景中的活動的過程中,以及包括當一個頂層活動降到後面另一個。
我想一個更好的解決辦法可能是讓你的單身透明初始化本身,如果空,裝車,如果需要保存從磁盤的任何狀態(相當標準的單模式)。無法通過新舊活動中的單個實例解決您的問題。
編輯:我不相信,一個服務是要走的路。服務用於在電話背景下進行活動,而您所談論的是數據存儲和檢索。我認爲,最自然的做法是讓每個活動對於它是否是第一個活動都很有用。
相關問題
- 1. Android對象處理/持久
- 2. 用於Java Web服務的持久Singleton對象
- 3. 如何在NUnit測試對象之間使用持久對象?
- 4. Android對象持久性:Ektorp和CouchDB
- 5. ASP.NET中的持久對象
- 6. ADF中的持久對象
- 7. Silverlight的對象持久
- 8. 如何讓一個web對象中的Python對象持久化?
- 9. 什麼是持久對象?
- 10. 持久對象與Django?
- 11. AppEngine持久對象延遲?
- 12. ActiveJDBC UniquenessValidator非持久對象
- 13. 持久對象與LazyObjectStorages
- 14. Hibernate持久對象行爲
- 15. 持久有序域對象
- 16. IllegalStateException異常持久對象
- 17. Python對象持久性
- 18. NonUniqueObjectException當持久化對象
- 19. 製作「持久」對象
- 20. 持久對象和__repr__
- 21. 休眠:持久對象
- 22. .net對象持久化
- 23. 如何使用JPA使庫對象數據庫持久化?
- 24. 使用Playframework持久ManyToMany對象
- 25. 如何排除持久對象的基本類型屬性是否持久?
- 26. 如何刪除持久性/非持久性收集字段爲空的對象?
- 27. 從持久存儲中獲取持久對象時如何調用該過程?
- 28. 在NHibernate中添加並保存不持久對象到持久對象
- 29. 的Grails 2.5.0的持久對象空ID
- 30. Java Google App Engine:在將對象添加到另一個持久對象的持久數據結構之前,是否需要使對象持久化?
我很新到Android。在我的場景中,我正在製作基於點擊的遊戲。因此在每個輸入上,單例對象都會進行一些處理,併爲用戶提供新的活動。我如何與服務做到這一點。你也可以給我鏈接閱讀服務。 – chandings
我添加了一些鏈接。 –
感謝您的時間。 – chandings