2011-04-05 49 views
3

我有一个存储资产文件夹(html,音频,视频等)中的大量数据的应用程序。我使用file:/// android_assets来访问这些文件。但由于市场强加的50 MB的apk大小限制,我将把这些文件迁移到存储卡上。 是否可以在手机内存上安装应用程序,并在存储卡上有资产目录,以便仍然可以使用文件协议访问它们?存储卡上的资产

回答

4

由于资产是您apk的一部分,因此无法将它们分开或移动到SD卡。您可以为您的应用启用“移至SD卡”,但这对50 MB市场限制无帮助。

一个解决方案是将数据文件存储在网络上,而不是将它们包含在apk中。安装后第一次启动您的应用程序时,您可以启动将其下载到SD卡的一次性进程。

一旦文件的SD卡,您可以访问它们:

file:///sdcard/<your_directory> 

或获得一个文件参考SD卡根目录:

File sdCard = Environment.getExternalStorageDirectory(); 
+0

是的,我也做了同样的将所有内容移动到SDCard。这些数据包含许多图像,这些图像与文本一起显示在自定义列表中。将这些数据移动到外部存储后,应用程序的性能下降了。列表滚动并不像数据在资产中那样流畅。任何关于如何提高性能的指针? – Salil 2011-04-07 03:15:28