“开发到一定的阶段,有些问题不是API代码就能够解决的,还需要硬件相关的知识“
引言
开发android也有一段时间了,感觉焦点不能再局限上层应用,需要从Android整体框架入手,全面掌握Android的设计艺术,这里特意整理了相关的知识
一、Android 相关
1、卡顿分析
2、网络优化
- 聊聊Linux 五种IO模型
- 微信网络请求框架mars
- 微信跨业务基础组件mars
- 携程 App 的网络性能优化实践
- 阿里无线 11.11:手机淘宝移动端接入网关基础架构演进之路
- 蚂蚁金服亿级并发下的移动端到端网络接入架构解析
- 百度App网络深度优化系列《一》DNS优化
- HTTP/2 头部压缩技术介绍
- 腾讯社交网络图片带宽优化技术演进之路
- 看得「深」、看得「清」—— 深度学习在图像超清化的应用
- TLS协议分析 与 现代加密通信协议设计
- TLS1.3
- 基于TLS1.3的微信安全通信协议mmtls介绍
- Facebook是如何大幅提升TLS连接效率的?
- 小米安全:证书锁定
- CDN + P2P 在大规模直播 & 实时直播的技术实践
- P2P如何将视频直播带宽降低75%?
- QUIC协议在腾讯的实践和优化.PDF
- QUIC在手机微博中的应用实践.pdf
- 手机淘宝移动端接入网关基础架构演进之路
- 360开源又一力作——ArgusAPM移动性能监控平台
- 面向切面(AspectJ)编程
3、Ui适配
- 头条:反射实现的Android屏幕适配
- OLED和LCD的区别
- Android 目前稳定高效的UI适配方案
- SmallestWidth 限定符适配方案
- Vulkan:低开销,高性能3D图形API
- Android图形整体架构
- BufferQueue:图形处理核心
- VSYNC:android 垂直同步概念
- Android Project Butter(黄油计划)分析
- 检查GPU渲染速度和绘制过度
- 一颗像素的诞生
- ui测试问题定位工具graphics API Debugger
- gfxinfo可以拿到包各个阶段动画以及帧相关信息,命令如下
adb shell dumpsys gfxinfo packageName
//以下命令可以拿到近120帧的每帧耗时
adb shell dumpsys gfxinfo 包名 framestats
// 通过以下命令获取到SurfaceFlinger
adb shell dumpsys SurfaceFlinger
4、系统源码
二、数据库
1、数据库原理
2、数据持久化方案
3、数据库修复
- How To Corrupt An SQLite Database File
- 微信 SQLite 数据库修复实践
- 微信移动端数据库组件WCDB系列(二) — 数据库修复三板斧
- WCDB Android 数据库修复
4、数据库优化
5、SQLite进阶
6、文件压缩方案
三、编译
- 字节码操纵技术探秘
- ASM-操纵Java字节码的框架
- 微信Android热补丁实践演进之路
- Instant Run 原理(英文)
- Instant Run 原理(中文)
- facebook redex编译框架
- 网易HubbleData无痕埋点
- 51 信用卡 Android 自动埋点实践
- JVM文档
- aspectj java 编程扩展框架
- aspectjx
后记
望君学有所成!
—— Weiwq 后记于 2019.06 广州