有赞webview加速平台探索与建设(三)——html加速

1. 概要 从之前的两篇文章当中,已经分析了我们的金翅h5加速平台,以及如何做静态资源的加速。这一章将主要集中在如何做html加速优化。 html加速优化也是所有优化手段中,对白屏时间优化效果最为明显的! 以预取html内容作缓存的方式实现加速,需要解决以下问题: 如何在native端代理html请求? request header 和 response header如何处理? 遇到页面重定向、要求登录如何处理? 如何维护html缓存,包括其header部分、body部分? 在html intercept过程,做缓存读取、加载…

Read More

有赞webview加速平台探索与建设(二)——静态资源加速

1. 综述 在前文中已讲到,有赞的h5页面中,静态资源分为两种,一种是有赞统一的css/js等资源,一种是商家端独有的商品图片等资源。 针对这两种资源类型,我们采取了不同的策略:如何发现资源变化、如何更新资源缓存? 先让我们看一下我们整体的系统运行图: 图片的上半部分描述的是商家独有的图片等资源的更新过程; 而有赞的统一的css/js等资源,则是采用后台定时任务来刷新,监控前端发布。 每一个静态资源(css/js/图片等)都会在我们的goldwing后台系统中生成一条数据库记录,记录它的唯一key、路径、…

Read More

有赞webview加速平台探索与建设(一)

1. 缘起 说起webview与h5,对整个移动开发业界的人来讲,都是又爱又恨。爱其功能强大、可动态发布、又多端复用。。。又恨其加载慢、响应慢、体验不佳。慢、慢、慢的问题,往往让开发挠头、让客户骂娘!天使与恶魔的共同体,好的坏的都那么明显。 业务快速迭代,h5页面往往承担着一家公司的大部分流量来源,这对有赞也不例外。优化h5的加载,提升客户体验,收益和价值都是巨大的。 2.…

Read More

有赞Android客户端网络架构演进

Android客户端网络请求是每一个应用都不可或缺的模块,其设计的好坏直接影响应用的性能和代码稳定性、扩展性。Android网络请求最开始官方只提供了最基础的方法,开发者必须在此基础上进行二次封装,这样就要求开发者对Http请求协议、缓存、JSON转换、错误处理以及线程切换等都比较熟悉,稳定性、可扩展性和可维护性都是比较大的挑战。 目前Android主流的网络请求都是基于Square公司开发的OkHttp,该框架也得到了Google官方的认可,OkHttp对网络请求做了大量的封装和优化,极大降低了开发者的使用成本,同时兼备稳定性和可扩展性。目前有赞Android客户端也是采用OkHttp进行网络请求,在OkHttp框架的基础上做了大量的封装和优化,减小业务逻辑与框架的耦合性的同时,也极大降低了业务方的使用成本。 1. 现在的网络请求 先以Get请求为例,代码如下: private…

Read More

Android SurfaceView 源码分析及使用

概述 SurfaceView 是 Android 中一种比较特殊的视图(View),它跟平时时候的 TextView、Button 最大的区别是它跟它的视图容器并不是在同一个视图层上,它的 UI 显示也可以不在一个独立的线程中完成,所以对 SurfaceView 的绘制并不会影响到主线程的运行。综合这些特点,SurfaceView 一般用来实现动态的或者比较复杂的图像还有动画的显示。 SurfaceView 的 MVC 框架 要使用 SurfaceView…

Read More