2009-12-31 144 views
0

我有一個奇怪的問題。正如我在以前的帖子中所問,我的應用程序中有很多來自.NET的數據。問題是在那裏有很多文字和圖像,所以雖然我可以讓用戶等待,但是他點擊了一個列表項,但是我不想讓他等待他點擊後退按鈕。Android內容保存

從某種意義上說,我不想重新下載所有的數據;數據1ce應該保持下載。

哪1是正確的方法?

使用存儲所有數據的一類特殊的...並使用變量,每次我回去,

2.有沒有什麼具體的保存實例方法將這些數據保存在類 本身中...如果是這樣,那麼請通知我如何在單擊返回時調用保存的實例活動 。

回答

0

「用戶點擊後退按鈕」我知道上一個活動顯示並返回到堆棧頂部(請參閱activity lifecycle)。

這意味着此活動不會再次創建,但會繼續(除非它被核心殺死,因爲其他應用程序需要內存),所以它的字段和屬性保留其值。 因此,如果您將數據存儲在某些活動字段中,則可能可以檢索其值並在不重新下載的情況下顯示它們。

當然,您必須在訪問它們之前測試這些字段,以避免在第一次啓動活動時出現NPE。

0

當您啓動或返回時,您不應該依賴已存在的任何Activity

退房此有關緩存已經下載的數據前面的問題:
What is the ideal place to cache images?

你不應該在UI任何停頓反正當用戶輸入一個Activity;你應該在後臺線程上做所有的下載並向用戶顯示某種進度指示器。如果你不這樣做,並且UI線程被慢速下載(約15秒)阻塞,用戶將會看到一個「應用程序未響應」對話框,並要求殺死你的應用程序或繼續等待。不好。