html tool

2022年3月2日星期三

转:轻读一下 Android 应用开发中的 assets 目录

 来源:https://www.cnblogs.com/chorm590/p/11308107.html

在Android的应用开发中,难免会遇到外部文件的预置需求。例如图像、音视频、配置文件、字体等等。对于图像,我们很容易会想到将它们存放在 res/drawable 目录或者是 res/mipmap 目录下。但对于其它类型的文件,就得另寻它法了。

 

比较常见的可以保存任意类型文件的地方主要有两个:

1、res/raw 目录;

2、assets 目录。

 

drawable/mipmap、raw、assets 三者都可以用来存储一些外部资源文件,那它们之间各自有什么优缺点呢?

 

首先,在 drawable 或 mipmap 下只能保存图像文件或图像描述文件,但在这两个目录下保存的图像文件在编译时会建立一张“索引表”。这个索引信息会被统一保存在一个名称为 R.java 的文件中。在程序的任何地方都可以直接通过 R.drawable.xxx 的形式来使用图片资源。

 

res/raw 目录算是一个比较特殊的资源文件目录。它被设计用于保存一些二进制文件,即在这个目录下的所有文件都会被记录到“索引表”中,但是编译系统不会去动里面的文件。raw 目录下的文件放进去时是什么样的,编译成 APK 以后还是什么样。这个目录比较适合保存一些音视频等二进制文件。

 

res 目录下的资源文件夹,不管是 raw 还是 drawable 或 mipmap,都不能自由地设计子目录层级关系。不管你有多少文件,都只能放在同一级目录中。

 

assets 目录是一个非常自由的目录。它就像是Android应用中的“三不管”地带,不会为里面的文件建立索引、不会限制目录层级关系、不会处理里面的文件。如果你想更好地管理自己的外部资源文件,建议使用 assets 目录。

没有评论:

发表评论