Android 技术的下半场,kotlin 开源
由于 App 获客成本不断提高,动态化是近年来越来越重要的技术架构,例如 React Native、小程序、快应用等都在试图让 App 具备实时更新、随手可得。本专题会对各
厂提出的动态化方案进行分析,如 JsBridge;包括小程序方案的一些实现思路,比如多进程的 H5 容器架构;另外,还会分析一些适用于移动平台的动态化编程语言如 Lua,Javascript 等。
\2. 图片专题
对于亿级 App 而言,图片的任何优化都对于流量、体验等具有重要意义。比如 Google+ App 采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。因此,本专题会谈一下各大厂如腾讯、FB、Google 等在图片优化方面提出过哪些方案,比如 WebP vs SharpP;另外也会分析一些大家用的比较多的 Glide、Fresco 是如何做图片缓存、如何基于 Dalvik/Art 不同的内存结构来优化。
\3. 省流专题
上面谈到了图片的压缩,其实节省流量是一个永恒的话题,它不仅能改善用户体验,也能帮助减少用户流量开销,节省公司成本。因此,本专题会谈一谈如何监控 Android 流量;有哪些常用的 Diff 及压缩算法,比如 Tinker 里自研的 Diff 算法 vs Google 提出的 google-diff vs BsDiff 等;如何选用数据通信格式如 json、ProtoBuf;FastJson、Jackson 各自的优势等等。
\4. 网络专题
大多数业务同学对网络的认识就是 OkHttp+Json 解析,实际上,网络这一块还存在非常多值得研究的技术点。一个优质的 App,除了在网络良好的环境下运行,更重要的是,必须在弱网、网络劫持、网络慢等复杂环境下也要良好运行,而且还得快,这也就涉及到 DNS 加速、网络结果缓存等。
之前大厂都在提“页面秒开”的概念,页面打开速度很大程度取决于当下的网络环境,也对于用户体验和留存有非常大的影响。这个专题我们谈谈网络相关的技术点。
\5. 监控与日志专题
对于监控和日志,多数人的印象是集成一个第三方 SDK,如 Fabric、Bugly 等。业务同学或许对日志了解不是特别多,但实际上日志是至关重要的,尤其是在排查复杂问题时。
本专题我们谈一下如何做到日志不丢失,如何后台上报且不影响 App 运行,最有意思的一点:如何利用长连接等技术,实时拉取任意用户的本地详细日志。
\6. 移动****高可用专题
高可用是近年来阿里等大厂在不断追求的,所谓高可用,就是尽最大可能提高 App 的可用性,保证网络、内存、CPU 等资源资源在可控范围内,严格监控客户端的运行性能、卡死、闪退、内存开销、流量电量开销等全方面因素,并要在客户端发生问题的第一时间,以配置即时下发、动态修复、安全模式、线上监控报警等多种方式进行实时修复,从而保证客户端的高可用性。
\7. 安全专题
安全专题就离多数比较远了,这里我们讲解一些常见的和业务相关的安全话题,具体后续补充。
专栏技术点列表
\1. 动态化专题
如何让 JavaScript 与 App 交互
如何实现“即点即用”之小程序、快应用
H5 容器之多进程架构
WebView 全面加速方案
动态化编程之 Lua
...等
\2. 图片专题
图片压缩之 WebP 与腾讯 SharpP 的实现机制
图片内存优化之 Glide 和 Fresco 原理篇
Png Jpg 等常用图片格式的内存、解压速度分析
...等
\3. 省流专题
Android 流量监控
文件压缩 zip 7z gzip 等
增量更新之 diff 算法,案例:Tinker 自研 diff/patch 算法
图片缓存技术
WebView 缓存优化
数据传输协议对比之 ProfoBuf、FastJson、Jackson
...等
\4. 网络专题
可靠长连接的意义
HTTPDNS、DNS 劫持
网络嗅探
Http2/Https/QUIC 协议对比
CDN 削峰填谷
Https 的原理、TLS 1.2 VS TLS 1.3 加密方案
如何做全局网络限流,保证业务流量高优先级
...等
\5. 监控与日志专题
mmap 日志落地方式,开源项目 Logan,xlog 等分析
通过长连接动态拉取日志
如果长连接断开、通过短连接兜底拉取日志
日志上报,本地分片存储及后台上报策略
...等
\6. 安全专题
移动端的加密算法之对称与非对称,防篡改
常规编码方式一览 md5 base64
...等
\7. 高可用专题
内存、卡顿、流量等综合监控
Crash 与 Native 崩溃监控
热修复
配置中心即时下发
...等
《亿级 Android 架构》小专栏 介绍
业务的快速增长离不开稳定可靠的架构。《亿级 Android 架构》小专栏会基于作者实际工作经验,结合国内大厂如阿里、腾讯、美团等基础架构现状,尝试谈谈如何设计一套好的架构来支持业务从 0 到 1,甚至到亿,希望与大家多多探讨。
本专栏主要内容:
当前大厂有哪些 Android 架构;
这些架构能解决什么问题;
这些架构的原理是什么;
学习这些架构对我们自身的意义。
已有文章列表:
《亿级 Android 架构》专栏随谈》
《Android 架构之网络连接与加速》
《Android 架构之长连接技术》
《Android 架构之高可用移动网络连接》
《Android 架构之网络安全演进》
《Android 架构之高性能移动端日志系统》
《Android 架构之动态化之路》
可扫描下方二维码查看小专栏详情 或 点击查看原文。
PS:本文原创发布于微信公众号「wingjay」,回复关键字「程序员」获取一份程序员经典电子书。
评论