有赞 Android 崩溃保护的探索及实践

概述 Android 的 Crash 是件让人头疼的事,测试阶段好好的代码一上线就各种崩溃,即使是一个微不足道的 bug 也得发个 hotfix。很多时候我们更希望即使个别功能没法使用也不要崩溃,比如点击图片想看大图时,由于 onClick 回调中没做判空处理等导致 APP 崩溃了,这时我们更希望即使不能看大图也不要崩溃,这时你可以考虑使用 Bandage,当然Bandage的强大之处远不止这些。 Bandage是什么 Bandage:绷带,通用的止血工具。…

Read More

有赞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 Architecture Components 与可测试代码

软件开发历史大潮中,我们做了许许多多的努力让代码变得更加优雅。但是「优雅」这一件事,并不是简单的让代码变得漂亮而已,我们的「优雅」是有目的的:可维护、可扩展、可测试。从实用性角度来讲,我认为「可测试」这是我们在产品开发中追求的第一要素,毕竟质量是我们坚持的第一要素,没有质量背书,许多的工作都是空想。今天我们就来讲讲,如何通过Google新发布的Android Architecture Components去写我们的代码,使得我们的项目变得更加「Testable」…

Read More