
res会在R.java生成索引ID,在打包的时候判断资源有没有用到,没用到的时候不会被打包进apk中(res/raw文件夹除外),而assets不会。
res用getResource()访问,assets用AssetsManager访问。
res/raw与assets里的文件在打包的时候都不会被系统二进制编译,都被原封不动打包进APK,通常用来存放游戏资源、脚本、字体文件等。但res/raw不可以创建子文件夹,而assets可以。
res/xml会被编译成二进制文件。res/anim存放动画资源。
assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中。与res/raw不同点在于,assets支持任意深度的子目录。这些文件不会生成任何资源ID,必须使用/assets开始(不包含它)的相对路径名。
res:用于存放应用程序的资源(如图标、GUI布局等),将被打包到编译后的Java中。不支持深度子目录.
在android开发中,我们离不开资源文件的使用,从drawable到string,再到layout,这些资源都为我们的开发提供了极大的便利。