无论是iOS还是Android,利用webview为基础,html5+css3来做app已经十分广泛.而优点也十分明显(之前一片文章中提到过)。
个人认为,这种app开发中存在2个大问题
1. js执行效率及内存泄漏问题(问题比较大,需要逐步探索优化)
2. css适配问题
这里主要记录下自己实践过的css适配问题,以备以后调研及开发使用
css适配:
1. 屏幕像素值适配(不常用,需要配合密度来适配)
这种情况可在请求页面时代入参数,分辨率及密度值,由服务器端决定吐不同css,可以解决全部适配问题
最近在android适配中发现新问题,
2. 实际页面像素值适配(常用)
第二种在应用时也有不同方式
a. 根据document.width,加载不同css
b. meta,根据不同device-width与device-height加载不同css
方式a,比较好用,可以解决全部适配问题,但是需要加入脚本,实时判断;css加载慢时会导致屏幕闪动效果明显
方式b,android会出现第一次页面加载时css加载不对的情况,至今没找到解决办法,各位谁有解决方法可以指教
css文件:
css文件可区别编写
ios:2套;一套小分辨率的,主要适用iphone3GS之前的和ipod touch;大分辨率主要应用在iphone4之后的及ipad上。大小2套之间总体差距为1倍,但细节会有调整。
重要问题:ios webview有一个属性会导致横竖屏旋转时缩放页面,此属性需要关闭(具体怎么做去问ios开发人员);如果此属性不关闭,需要css中适配(横屏orientation:landscape ,竖屏orientation:portrait),工作量会成倍增长。
android:3套;分别适配屏幕宽和高<500,宽和高都>720及其他
另,最好能够保持sdk的方向,如果可以横竖转换,页面中不要有拖拽相关的组件。
附分辨率及代表机型: