安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize

 安卓屏幕适配框架的较量  dp & 限定符 & autolayout & autosize 

这里讲的是google自带的dp适配、比较久远的限定符适配、鸿神的autolayout、今日头条的autosize,下面大家就一起来看看他们的效果吧:(仅单一维度测试,数值也可能不标准,仅供参考,大家不要较真哦)

为了突出两个模拟器之间的差异明显,我们用的是1440*2560 和 480*800 分辨率的模拟器。下面所有图片,左边为1440*2560分辨率的模拟器,右边为480*800分辨率的模拟器。

首先上一个参考值,px的效果:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize_第1张图片

可见此图差异明显,两者都是100*100px的尺寸,也突出了px的特点:不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。

接下来测试dp的效果:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize_第2张图片

dp的单位相对px来说就好一些,但是看起来还是能明显看出差别的,dp是google提出的适配方案,但是面对众多的机型,有时候也是不能满足我们的适配需求。

然后下面是传统的限定符适配方案,不多说,上效果:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize_第3张图片

这个很多兄弟们都用了好久,相当年我学安卓的时候就是用的这个,实际效果还是不错的,不过对比着下面这些新新框架,它可能稍微就臃肿麻烦一些了。

下面首先是我们鸿神的AutoLayout, 上效果:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize_第4张图片

我们看到效果还是不错的,他这个框架的使用实际上是将LinearLayout、RelativeLayout、FrameLayout进行的封装,也就是说在每个布局文件里都需要用com.zhy.autolayout.AutoXXX来替代我们布局组件,然后在内部写px值就可以了。

最后是字节跳动的技术大佬提出的一套方案,autosize,进一步简化了适配难度:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize_第5张图片

效果出来差距仅仅在4个单位,也是牛的一批,他这个框架只需要在清单文件里标注



 
 

就okl了,甚是简单。

那么对比全部做完了,大国哥也要给大家一个课后题,你觉得哪个框架更好呢? 

 

最后附上测试实践项目的git地址:

https://gitee.com/CeMaBenTeng/screen_adaptation_scheme_test

你可能感兴趣的:(安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize)