Android assets和res资源目录的简单梳理

来源:互联网 发布:最新韩国网络剧2017 编辑:程序博客网 时间:2024/06/05 22:35
Android的资源文件大致可以分为两类:
1,res目录下存放的可编译的资源文件。
     该资源文件会以相应的ID被映射到R.java文件,通过对应的资源ID:R.id.name可实现对该资源的访问。
     使用方式:
     InputStream is=context.getResources().openRawResource(R.id.name);
2,assets目录文件,该目录下的文件可以有自己的文件目录,同时系统在编译时是不会编译的该目录的文件,访问的时候需要使用AssetManager类,通过I/O流的方式对该目录中的文件进行读写。
     InputStream is = context.getAssets().open("config/ui.txt");  //实际路径--> /assets/config/ui.txt

注意:

1.res和assets目录下资源文件只能以InputStream方式读取

2.所有资源文件都是只读的,运行时无法修改

3.所有资源文件夹assetsres也都是只读的,不可写入,Apk在编译后无法修改

4.如果想对资源文件进行修改,可对文件进行copy建立temp(临时文件),对临时文件进行修改,再使用,用到了java Io流的方法 File.createTempFile();

5.对于资源文件大小限制的说明Android系统对资源文件(res/rawassets文件夹下)的大小有限制,2.3之前默认最大仅支持1M的文件2.3之后貌似<=10M

6,存放在res和asset目录下的文件都会被打包到发布包中。
7,assets目录下的文件在打包成apk时是不会进行压缩的;res下的文件在打包成apk时会进行小内存的优化。
阅读全文
0 0