这是我最近阅读的一篇文章,里面提到的关于Android 5.0 以上Android webview 新增的安全功能,这里也做一个我们混合app 开发的一个知识点记录。今天不只分享Android 安全功能,还会和大家分享一下,关于html 编写时要注意的一些问题。因为我们Android 的碎片化,所以我们在 编写 html 时要做不同手机的适配问题。所以今天进入两个问题
一是增强 webview 的 安全 功能。
二是html编写时 做更多Android 手机的适配。
我这里只是写一写自己知道的方法,如果大家也有一些好的方法 也可以在下面评论和大家分享,非常感谢!
第一个问题,增强 webview 的安全功能:
增强webview 安全从两个方面说起第一个方面是 :
(1)与 Chrome 类似,WebView 目前也提供两级隔离:
1.渲染引擎被分解为独立进程。这不仅能够在渲染器进程中避免托管应用出现错误或崩溃,还能使恶意网站更难利用渲染器攻击托管应用。
2. 为进一步防御攻击,渲染器进程将在隔离的进程沙盒中运行,从而将其限制为只能获取有限资源。例如,渲染引擎不能自行向磁盘写入数据,或者与网络进行通信。
此外,它还采用与 Android 版 Chrome 相同的 seccomp 过滤器。seccomp 过滤器不仅能够减少渲染器进程可访问的系统调用数量,还能限制系统调用允许的参数。
(2)集成安全浏览保护机制webview 也采用google 的Chrome 集成安全浏览保护机制,如右图,当用户访问的网页是钓鱼网站等危险网站时就会有右图的提醒。具体怎么加入这个功能 其实就需要在清单文件mainifast中增加一句话:
<manifest xmlns:android="http://schemas.android.com/apk/res/androi"
package="com.example.carson_ho.webview_demo"
>
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
<application
.............
</application>
</manifest>
就是增加一个 meta-data 标签。
第二个问题:编写html时要考虑到灵活适配不同屏幕分辨率的手机:
关于要做到灵活的适配手机分辨率,这里我只提出自己的总结,如果你也有好的总结不妨分享出来大家,让大家学习一下。
(1)就是在我们html5 页面头部<head>标签里面增加 viewport 视口:
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
(2)是在写html界面时 要给<body>增加最大和最小宽度:
一般会设置:min-width:320px; max-width:640px; 这两个属性。
(3)一定要注意在指定 <div> <img>等块 级 的元素的时候一定不能用具体的尺寸大小,一定要用百分比的方式指定。
(4)字体大小也不能使用 px 的绝对大小,只能用相对大小单位rem,具体的 rem 和 px 的转换算法如下:
这是算法,下面给出,我们在html 中的 设置,方便我们使用和计算。
html{
font-size:62.5%;//把字体大小设置为10px; 10px = 16px*62.5%;
}
这样写之后我们在使用的时候例如:
比如我要把当前的<p>标签的字体设置为16px 那么我们用 rem 的数值就是 设置 1.6rem 就行了。
(5)注意图片也要按照百分比自动适应 ,不要设置具体大小尺寸。
(6)就是采用最火的bootstrap框架。
对于这两个问题的总结大概就这么多,如果有不足还请你能够提出宝贵意见。谢谢