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

本文详细介绍了Android应用开发中res和assets目录下的资源文件的区别及使用方法。包括如何通过ID访问res资源,以及如何利用AssetManager操作assets文件。还讨论了资源文件的限制和打包过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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时会进行小内存的优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值