2012-03-18 66 views
0

我想這樣做。我的應用程序有很多屏幕,在其中的每一個屏幕上,我都會將imageView顯示爲徽標。所以我有20個屏幕,這意味着(20 * 3)圖像在我的drawable,這使得我的應用程序是很多Mb的。因爲這個圖像是靜態的,並且永遠不會改變,所以我想這樣做:只有在第一次啓動該屏幕時,才從網絡獲取它(我知道該怎麼做,我不問),然後將此圖像存儲在某個地方在用戶的設備中,然後使用該路徑作爲源。 (我的意思是沒有再次下載,因爲這會讓用戶每次都在等待)。那有可能嗎?它會讓我的應用程序變慢(不是第一次,但其餘的),因爲我正在從SD中檢索數據?第一次被召回後在設備中存儲數據android

+0

所以你有60個不同的圖像?或者只有1個靜態圖像顯示在60個地方? – zapl 2012-03-18 12:53:31

+0

20個徽標,每個屏幕都有一個徽標。 – 2012-03-18 13:01:02

+0

爲什麼不製作包含您的標題或徽標的Layout,然後在需要顯示它的每個佈局中使用(使用http下載您必須處理離線用戶,每個屏幕有 – moujib 2012-03-18 13:08:15

回答

1

是的,你可以很容易地做到這一點。您也不必將數據存儲在SD卡上。您可以將圖像存儲在內部存儲器中。

基本上,設置一個緩存目錄。當你需要鏡像時,檢查緩存目錄,如果文件不存在,請通過http下載並將文件存儲在緩存目錄中。

它會改變你獲取資源的方式(例如,你將無法使用R.drawable.imagename),但你可以通過編程方式加載drawable。

+0

有沒有關於如何在android中設置緩存的示例代碼? – 2012-03-18 13:00:48

+0

通過緩存,我只是指文件系統上的文件。我沒有想到任何比Android參考文檔的數據存儲部分中的內容更復雜的東西(http://developer.android.com/guide/topics/data/data-storage.html) – 2012-03-18 13:25:30

相關問題