在安卓的发展历程中,由于设备碎片化的原故,谷歌在app中图标的适配上做出一步又一步的改进,大体有这么几个阶段:
首先有了drawable-(m|h|xh|xxh|xxxh)dpi
自android studio后,又有了mipmap-(m|h|xh|xxh|xxxh)dpi
随着android L的发布,带来了VectorDrawable,矢量图的支持
第一种方案大家都很熟悉, 但也是我们头痛的地方,因为每种icon都需要出几套不同分辨率,这无形的增加了app的容量,而且也增加了美工和开发人员的工作量,但是我们又不得不去做。
第二种是第一种的升级版, 没有实质上的区别,但是在缩放上提供了更好的性能和更少的内存占用。
第三种,矢量图,先大概解释下:矢量图在很久很久以前就已经应用起来了,是一种基于xml的图像,因为图片不提供具体的像素,只提供的是绘图的指令,所以好处是 占用内存非常小,性能高,可以任意缩放而不会失真,但是缺点也很明显,没有位图表达的色彩丰富。
然而现在app风格越来越扁平, 拟物化已经成了过去,矢量图成了越来越多人的选择。但是,android和ios对于矢量图的支持还非常弱.