前言
我们在ios本地开发中,难免会遇到native加载h5页面缓慢的情况,可能由于h5页面中的资源过多造成的,
但是老板要求你们必须这块必须要优化好,不能让用户等待很长时间,不然你们这个月的奖金扣光😂。你心里不免会抱怨(这东西你跟前端说去呀,凭什么他们的锅要我们来背呀),这时候前端拼命修改拼命优化,但是前端加载的速度还是很慢,难道已经到达极限了吗,难道我们native只能束手无策吗,难道这个月的奖金真的泡汤了吗😆。
这时候开始拼命找资料,找着找着,突然出现“native预加载网络资源”这样的字眼,哎哟,还真的有办法处理呀,看来这个月的奖金有望了。
分析问题
1造成h5显示慢的原因有以下因素影响:
1.native的webview的创建加载也是需要时间的,是有等待时间的。
2.webview开始请求资源,又有一个等待时间
3.资源越多,等待时间就越长
4.开始渲染页面
..........接下来就服务器,前端、后台等一系列拗口的专业术语的原因 这里就不做说明了 网上资料一大堆 自己去查吧。
所列举的是native可以优化的东西。
1 .native做一个webview的单例,省掉预加载的时间,但是这样会造成内存泄漏,内存增大,重新加载网页残留上次浏览记录等一系列问题,不推荐使用。
2. native本地存储网页资源(css、js、img)。在加载网页的时候,去调用本地的网页资源文件,加快加载资源的步骤。但是会出现频繁更新等一系列问题。
3. 从服务器去预加载网页资源(css、js、img),还没进网页之前,在后台下载网页资源。这样能做到实时更新替换,推荐使用。
欢迎大佬补充 和 修正