簡體   English   中英

重新啟動活動時快速加載數據

[英]Rapidly load data on Re-launch of an Activity

實際上,我是從Web上獲取XML,對其進行解析並將其顯示在屏幕上。 我遇到的問題是,每次調用該活動時,該活動都會嘗試從Web加載數據。(實際上,我的移動應用需要頻繁訪問服務器),所以我在尋找以下解決方案:

On Re-launch of an activity, the data from web should not be loaded again. 
creating a class that i can use to transparently make application faster by
selectively caching items in memory.  And thus, making users very happy and 
This class can even apply individual refresh times to each cached item.

所以,我認為我需要將數據存儲在Cache或類似的東西中。

有什么方法/技術可以實現這種東西嗎? 因此,它不必每次重新啟動活動時都加載。

您可以嘗試使用服務以給定的時間間隔在后台加載數據。

好吧,我會做的就是創建一個表,可以稱其為“ Table_Web_XML”,並在其中存儲適當的字段以存儲特定的Web數據。

啟動活動時,我將首先檢查數據庫中是否有數據。 如果表為空(表示Activity首次加載),我將從Web上加載它並在屏幕上顯示並保存在數據庫中。

另一方面,如果表中有數據,那么我將其加載到屏幕上,並將在后台啟動服務,如果Web上有任何更改,該服務將更新我的數據庫表。 這樣做是出於系統響應的觀點,當活動被重復打開時,數據將總是快速加載,並且后台服務將確保后續請求的最新內容:)。 希望能幫助到你。

不確定此建議的性能如何,但是到目前為止,如果僅想避免在每次重新啟動活動時都提取XML文件,最簡單的方法是將它們保存到Internal Storage中 啟動(重新)活動時,首先需要檢查文件是否本地存在,然后再從網絡上獲取文件。

當然,您將需要一種邏輯來判斷XML文件是否“過時”(您可以有一個簡單的數據庫表,其中包含文件名和最后獲取的日期),並且您可能還希望具有某種清理邏輯,以便在不再需要文件時刪除它們,從而不會占用不必要的空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM