我正在開發一個Android應用程序,並且我希望避免在使用相同額外的相同活動來源時重新加載類似數據。在Android中保存同一活動的多個實例狀態
具體來說,當我用額外啓動我的活動'A'時,我使用這個額外的來從服務器加載遠程數據。 從這個活動中,我可以重新啓動不同額外的'A'等等。
例子:
答:ID1 - >答:ID2 - > A:ID3
但是,它也可以是一個額外的,我已經裝:
答:ID1 - >答:ID2 - >答:ID3 - >答:ID1
在這種情況下,我不會再要求服務器或失去活動疊加。根據我的理解,「onSaveInstanceState」允許保存一個Activity的一個實例,但在我的情況下,它是同一個Activity的多個實例(帶有不同的額外值)。
那麼,它是爲同一個活動管理已保存實例狀態(包)的列表的解決方案嗎?或者是其他東西 ?
在此先感謝
首先,謝謝你的回答。現在我明白了onSaveInstanceState的好處。 我曾經想過要保存數據(例如在數據庫中),但是,有一件事我沒有提前指定。我收到的一些數據是API提供的圖片,根據使用條款,我沒有權限存儲它們。這就是爲什麼,我試圖恢復視圖而不是數據。 – Barles 2013-02-08 16:01:25
我明白了。圖像非常棘手,無法將它們保存到磁盤上會限制您的選擇。有些事情要注意的是,圖像(特別是Bitmaps,如果這就是你正在使用的)會佔用大量內存,並導致OutOfMemoryException異常,這種情況太臭了。最好將所有可以存儲在數據庫中的數據存儲起來,然後每次需要映像時都可以創建一個新的API調用。正如我提出的一種替代解決方案,您可以嘗試某種類型的緩存,但這樣做會更有效,並且可能會引入不穩定性。 – MattDavis 2013-02-08 16:13:01
是的,我會嘗試存儲所有我可以並依靠[Android通用圖像加載器](https://github.com/nostra13/Android-Universal-Image-Loader)來管理緩存圖片的數據。 – Barles 2013-02-08 22:22:36