1.区别
assets:
可以有目录结构,支持无限深度的子目录,assets中的文件不生成任何资源ID,不做任何打包处理,不会被编译成二进制文件。
res/raw
不可以有目录结构,与assets不同的是,res/raw下的资源会被映射到R文件中,生成资源ID,因此调用时可以通过资源ID调用。
2.共同点
两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。(但有的文档中说res/raw中的文件会被编译成二进制文件)
3.调用方式:
assets:
Context.getAssets().open(“sample.txt”)
res/raw:
InputStream
is = getResources().openRawResource(R.id.filename);