Android assets目錄與res目錄的區別

導讀

assets目錄與res目錄的區別

assets res/raw res/drawable
獲取資源方式 文件路徑+文件名 R.raw.xxx R.drawable.xxx
是否被壓縮 NO NO YES(失真壓縮)
能否獲取子目錄資源 YES NO NO
  1. res會在R.java生成索引ID,在打包的時候判斷資源有沒有用到,沒用到的時候不會被打包進apk中(res/raw文件夾除外),而assets不會。
  2. res用getResource()訪問,assets用AssetsManager訪問。
  3. res/raw與assets里的文件在打包的時候都不會被系統二進制編譯,都被原封不動打包進APK,通常用來存放游戲資源、腳本、字體文件等。但res/raw不可以創建子文件夾,而assets可以。
  4. res/xml會被編譯成二進制文件。res/anim存放動畫資源。

assets:用于存放需要打包到應用程序的靜態文件,以便部署到設備中。與res/raw不同點在于,assets支持任意深度的子目錄。這些文件不會生成任何資源ID,必須使用/assets開始(不包含它)的相對路徑名。

res:用于存放應用程序的資源(如圖標、GUI布局等),將被打包到編譯后的Java中。不支持深度子目錄.

在android開發中,我們離不開資源文件的使用,從drawable到string,再到layout,這些資源都為我們的開發提供了極大的便利。

資源文件

/res/drawable

存放布局文件

/res/layout

存放動畫資源

/res/anim

存放基于XML的菜單描述

res/menu

存放通用的文件, 該文件夾內的文件將不會被編譯成二進制文件,按原樣復制到設備上。

res/raw

存放字符串、尺寸值

res/values

存放通用的XML文件

res/xml

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容