你们都知道创建一个Android项目后会产生assets与res的两个文件夹,理论上他们都是存放资源的文件夹,那么他们到底有什么区别呢?java
1.assets:不会在R.java文件下生成相应的标记,存放到这里的资源在运行打包的时候都会打入程序安装包中(通常一些比较大的数据 如:数据库等)。web
2.res:会在R.java文件下生成标记,这里的资源会在运行打包操做的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。数据库
在res文件夹下其实还能够定义一下目录:动画
res/anim:这里存放的是动画资源。orm
res/xml:能够在Activity中使用getResource().getXML()读取这里的资源文件xml
res/raw:该目录下的文件能够直接复制到设备上,编译软件时,这里的数据不须要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.资源