Android 使用资产或res/raw文件夹时是否存在任何重大差异或限制? 背景
应用程序的某些文件只能存储在res/raw或assets文件夹中 这些文件夹中的每一个都以非常相似的方式工作。res/raw文件夹允许更轻松地访问文件,并具有资源文件的所有其他优点,而assets文件夹允许访问文件,无论文件名和结构如何(包括文件夹和子文件夹) 加载文件的主要思想对于这两个方面大致相同。根据您的需要,您可以选择易用性 问题 我记得很久以前,我发现这两个文件夹都有一些特殊的行为:Android 使用资产或res/raw文件夹时是否存在任何重大差异或限制? 背景,android,android-resources,android-assets,Android,Android Resources,Android Assets,应用程序的某些文件只能存储在res/raw或assets文件夹中 这些文件夹中的每一个都以非常相似的方式工作。res/raw文件夹允许更轻松地访问文件,并具有资源文件的所有其他优点,而assets文件夹允许访问文件,无论文件名和结构如何(包括文件夹和子文件夹) 加载文件的主要思想对于这两个方面大致相同。根据您的需要,您可以选择易用性 问题 我记得很久以前,我发现这两个文件夹都有一些特殊的行为: “资产”文件夹中的每个文件夹都有最大数量的文件。我想大约是500,但不确定。我很久以前就注意到这种行为
使用res/raw和assets文件夹之间是否存在任何主要或独特的限制或差异? 现在,在android中,我们对资产或原始文件中的任何文件的最大限制大小没有任何限制 Android文档: 以原始形式保存的任意文件。打开这些资源 对于原始InputStream,使用 资源ID,即R.raw.filename 但是,如果需要访问原始文件名和文件层次结构, 您可以考虑在资产/目录中保存一些资源。 (而不是res/raw/)。assets/中的文件没有资源ID,因此 只能使用AssetManager读取它们 从资产文件夹中读取文件(通过从中创建输入流)真的比使用res/raw占用更少的内存吗?如此之多以至于即使是最受赞赏的开发人员之一(这里)决定选择它,即使是在今天? 不,我没有发现内存使用之间有任何差异。这是安卓目前最大的混乱之一,我们也没有任何关于其内存限制的官方文件 上述限制是否存在于特定的Android版本中,然后它们变得完全相同,没有任何限制(当然除了文件命名为res/raw,但这就是它的工作原理) 在android 2.3之前,我们对资产文件夹有内存限制,即1MB。请参阅 如果是的话,它们在哪一个Android版本上的工作原理大致相同?
从android 2.3开始,我们没有任何与内存相关的限制,他们于2010年12月推出了这一功能。但我记得有一个限制,我没有看到任何地方提到过。我必须有大量的文件,由于文件本身的问题,我不得不把它们分成更多的文件夹。2.那么他为什么要花时间去做呢?他甚至在2013年的一篇文章中添加了一个链接(这里:)。在这篇文章中,它是这样写的:“出于某种原因,getResourceAsStream()做了一些非常极端的缓存,如果您使用它,它会占用大量内存”。3.+4. 好啊