一、Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自 动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager类来访问这些文件。
比如我要读取/assets/background.png
-
Bitmap bgImg = getImageFromAssetFile(
"background.png"
);
-
private
Bitmap getImageFromAssetFile(String fileName){
-
Bitmap image = null
;
-
try
{
-
AssetManager am = context.getAssets();
-
InputStream is = am.open(fileName);
-
image = BitmapFactory.decodeStream(is);
-
is.close();
-
}catch
(Exception e){
-
-
}
-
return
image;
-
}
二、/assets的文件不做压缩,比如存放*.png 文件时,需要读取原文件中的每一像素,则比较有用,缺点是读取时需要指定文件路径,无法通过id读取。
三、res/raw的文件也不压缩,优点是可以通过id读取
四、res/drawable下的文件会做失真压缩
第一点参考http://mingkg21.javaeye.com/blog/444830
分享到:
相关推荐
所有Raw文件都直接位于res/raw目录下,且必须通过资源ID访问。 **应用场景** Assets适合存放那些需要动态加载或不需要系统资源管理器处理的文件,比如游戏数据包、自定义字体、大型文本数据等。而Raw则适用于小型...
7. `/assets`:与/res/raw类似,但不受编译过程的影响,适用于存储任何未处理的原始数据,如JSON文件、字体文件等。 在编译时,Android Asset Packaging Tool (aapt)会处理这些资源,生成二进制格式的资源并创建`R....
在Android开发中,`Resources`类扮演着资源管理者的角色,它负责访问应用中的各类资源,如raw asset文件、颜色定义、图形资源、媒体文件等,并提供关键的设备配置信息,如屏幕方向、输入类型等,这些都是构建用户...
图片和其他静态资源位于`res/drawable`或`res/raw`目录。 6. **资产文件(Asset Files)**:`assets`目录用于存放非结构化的数据,如字体文件、音频文件或JSON数据。 7. **Maven仓库(Maven Repositories)**:在`...
Android 应用程序的资源文件存储在 res 文件夹下面,包括 layout、drawable、values 等文件夹。这些文件可以在应用程序中使用,例如读取资源文件中的字符串、图片等。读取资源文件可以使用 getResources()....
当图片是从本地资源加载时,确保图片路径正确,可以是`assets`或`res/raw`目录下的文件。如果是网络图片,需要处理网络请求和缓存策略,以优化用户体验和减少不必要的网络负载。 5. 性能优化: `TextView`显示...
在AndEngine中,你可以使用`AssetManager`来加载Asset目录下的资源。首先,你需要创建一个`AssetManager`实例,然后调用其`load`方法,指定资源的路径和类型。例如,加载一个名为“image.png”的图片资源,可以这样...
1. **编译阶段**:AAPT(Android Asset Packaging Tool)会读取`res`目录下的资源文件,生成R类,并将资源打包到APK中。 2. **运行阶段**: - **加载资源**:当应用程序启动时,Android系统会加载APK中的资源文件...
* android.content.res.Resources 是 Android 平台的资源类,用于访问应用程序的资源,如 raw asset 文件、颜色、drawables、媒体文件等。 * 通过该类可以管理二进制源文件、颜色、图形、多媒体文件等资源。 * 主要...