一、界面适配
问题类型:
1、手机分辨率为1920x7080(1080)的高分辨率手机,在调整手机字体大小时,会导致页面显示出现变形;
2、因用户设置的特殊字体导致列表的字母条不显示;
3、某些banner图片在部分机型只能显示一半;
预防方法:
1、文字或者图片需要适配不同分辨率的机型时,建议使用dp方式进行开发,即使是使用dp,也需要考虑特殊分辨率的机型显示;
2、适应宽度/适应高度/高宽均适应;
3、针对程序需求,设定合适的适配机制。
二、系统适配(1)
问题类型:
1、调用高版本API,导致某些机型进入主显示空白页面;
2、安卓系统升级后,这里只Google的升级,会导致现有APP的插件随之升级,这时候会出现ListView或RecycleView刷新出现空白,图片加载失败等解析问题。
预防方法:
1、调用高版本API,需要考虑兼容性,开发团队需要指定程序API调用规范;
2、调用高版本API,需要考虑兼容性,开发团队,尤其是底层架构开发团队需要制定程序API调用规范。
三、系统适配(2)
问题类型:
HTTP请求头字段,User-Agent加上机型mode字段,当机型字符是中文或者中文空格时会导致服务器反馈400,表现为全部接口无法连接(在User-Agent字段嵌入二进制0,不符合http标准RFC2616的Token格式规范),因iOS的手机型号字符串比较规范,所以不受影响。
预防方法:
协议请求字段加入与机型信息有关的内容时,要充分考虑用户环境信息对协议规范影响,如Android是可通过刷机、修改字段等方式修改为非规范字符