2010-09-30 66 views
0

我正在創建一個Android應用程序,其中會嵌入一些音樂(〜80 MB)。我打算將它放在res/raw文件夾中。Android應用程序靜態存儲

由於android將所有內存存儲在內部存儲器中,這種方式是否太大?我有什麼選擇?我想出了以下幾點:

  1. 當應用程序第一次啓動時,將資源從內部存儲器複製到SD卡上。之後從內部存儲中刪除(這是可能的嗎?)
  2. 當應用程序第一次啓動時從網絡上下載音樂。

因爲我希望應用程序完全脫機,靜態音樂不會改變(除了發行版之間),所以我真的不想選擇使用選項2。

還有其他想法嗎?

回答

1

數字1不是一個有效的選項,原始音樂的應用程序包(.apk)重約80Mb。 Android用戶不會下載大小爲80Mb的應用程序(如果有足夠的可用內存來安裝它)。

您應該使用選項2.在後臺下載數據並將其作爲緩存存儲在SD卡中。所以下次你的應用程序啓動時,你不需要再次下載它。

BTW:使用函數android.os.Environment.getExternalStorageDirectory()來獲取sdcard中的一個目錄。

最佳,

+0

,然後適當補償,如果該設備是三星galaxay,因爲這樣可以給你的*兩個*存儲目錄 – 2010-09-30 19:07:57

+0

如果什麼用戶,雖然卸載該應用程序的家長嗎? 80MB仍然不會在SD卡中掛起來佔據不合格的位置。空間? – binnyb 2010-09-30 21:20:41

+0

是的,但如果您將文件存儲在「/ Android/data/<軟件包名稱>/files /」路徑中,似乎這些文件將在卸載時被刪除。這裏最好解釋一下:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal。 – fpanizza 2010-10-01 14:02:46

0

2號是唯一的選擇,80Mb是Android應用程序的巨大尺寸。

相關問題