java - 从 Assets 文件夹或 SD 卡访问文件有什么区别

标签 java android android-sdcard android-video-player android-assets

我正在开发一个应用程序,我必须在其中使用三种不同大小的文件(1mb、5mb、15mb)。我搜索了一下,然后才知道我们可以将这些视频保存在 Assets 文件夹中并可以使用这些视频。

其次,我了解到我们可以将这些视频保存在 Assets 文件夹中,安装时我们可以将所有视频移动到 SD 卡中。当尝试第二种方法时,由于文件较大而面临问题。

所以,谁能告诉我这两种方法有什么区别,我应该使用哪一种。任何指针将不胜感激。

最佳答案

放置在 assets 文件夹 中的

文件 将无法从您的应用读取(它会抛出异常)

这是因为它们在构建过程中被压缩,因此手机需要大量的资源才能在手机上解压缩它们。

如果 Assets 压缩,系统必须解压缩整个东西到内存。如果您有 20MB 的 Assets ,这意味着您的应用程序占用了 20MB 的物理内存

我相信您可以将它们放在 raw 文件夹 中,在那里它们不会被压缩

编辑:

您最多可以将 50MB 文件大小的 APK 上传到 android 市场,这是标准配置,现在它也支持更大的 APK。请参阅下面的引用链接:

Android Apps Break the 50MB Barrier

谢谢。

关于java - 从 Assets 文件夹或 SD 卡访问文件有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14258395/

相关文章:

java - 禁用Java使大数变小? (10,000,000,000 至 1E10)

java - 从SD卡读取

java - Hibernate异常——无法执行更新查询

java - 如何在 Android 中制作一个游戏每毫秒执行一次的方法?

javax.servlet.ServletException : Wrapper cannot find servlet class

java - 简单的 Android/Java 倒计时应用程序

android - 如何更改android中默认滚动大小的宽度?

android - Proguard 在 25.1.6 版本的 Android 工具中失败

android - 使用手机内存 Android

android - 无法将视频共享到Youtube,这些视频位于/mnt/sdcard/Android/sd卡中的数据中