Android项目中资源文件的相关知识总结

1.drawable和mipmap的使用:

参考:https://www.jianshu.com/p/f7dc272b3469

a.Launcher图片(APP的图标)必须放到mipmap不同的目录下(mipmap-xxxhdpi、mipmap-xxhdpi(主流)、mipmap-xhdpi(主流)、mipmap-hdpi、mipmap-mdpi、mipmap-ldpi),Launcher会自动加载更加合适的密度的资源。

b.应用内使用到的图片资源,并不会因为你放在mipmap或者drawable目录而产生差异。单纯只是资源路径的差异R.drawable.xxx或者R.mipmap.xxx。(也可能在低版本系统中有差异)。

c.图片可以在主流的尺寸目录下保留一份或两份,其他尺寸自动适配即可,可以有效减小APK体积。(尽量保留高尺寸,由高到低图片缩放的失真效果不会特别明显,反而由低到高的扩放失真明显)

2.res目录和assets目录的区别:

两者的区别在于是否前者下所有的资源文件都会在R.java文件下生成对应的资源id(系统自动生成,只管用即可),而后者并不会,后者需要我们通过AssetManager以二进制流的形式来读取,一般存放一些大的文件,如音频、视频、Html、JSON等!

注:assets目录一般手动自建(as不会自动创建),与res目录同级。

3.style与theme的区别

参考:https://www.jb51.net/article/91634.htm

两者的区别是style应用于view中,而theme应用于application和activity中。

两者都定义在values/styles.xml中,都使用