2010-09-30 64 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应用程序的巨大尺寸。

相关问题