写点什么

Android 开发周报:美团热更新方案 Robust 开源、Apk 编译速度优化详解

  • 2017-03-22
  • 本文字数:1248 字

    阅读完需:约 4 分钟

  1. 《Android 热更新方案 Robust 开源,新增自动化补丁工具》:Robust 热更新系统借鉴 Instant Run 原理,实现了一个兼容性更强而且实时生效的热更新方案。其基本思路是,Robust 热更新系统在一个方法的入口处插入一段跳转代码,当发现某个方法出现 bug 就跳转执行补丁中的代码,略过原有代码的执行,否则执行原有方法体逻辑。
  2. 《手把手教你绘制 Android 粘性果冻动画组件》:Android3.0 之后开启了 GPU 硬件加速让图形渲染没以前那么卡顿,特别是 5.0 之后的 material design 更是引领潮流。作者利用工作之余,写了一个效果很赞的果冻动画组件,本文详细介绍了组件的实现原理及用到的算法。文章涉及到的源码在这里
  3. 《20 分钟理解 React Native For Android 原理》:目前有很多公司已经使用了 React Native 技术,如果要定制化需求及性能优化则需要对 React Native 底层原理有更深入的理解。作者通过研读源代码,详细分析了 Android 中的 React Native 实现原理。本文主要分析了 Java 层实现,对 C++ 和 JS 笔墨较少。
  4. 《Android APP 启动优化》:我们在点击桌面图标的时候,偶尔会出现一个白屏,然后才进入主界面,这是因为从桌面点击 APP 图标启动应用开始,程序会显示一个启动窗口等待 Activity 的创建加载完毕再进行显示。冷启动白屏持续时间可能会很长,这可是个槽糕的体验,本文给出了解决该问题的方案。
  5. 《Android 应用优化小手册》:性能优化是每一位 Android 开发同学的必修课,性能优化的技术也在不断的发展变化,本文从布局优化、内存优化、电量优化、网络优化、启动优化、体积优化、性能优化、业务优化 8 个维度讲解了如何进行性能优化。
  6. 《加快 apk 的构建速度,如何把编译时间从 130 秒降到 17 秒》:公司的项目代码比较多,每次调试改动 Java 文件后要将近 2 分钟才能跑起来,实在受不了。作者在网上找了一大堆配置参数也没有很明显的效果,尝试使用 instant run 效果也不怎么样,然后又尝试使用 freeline 编译速度还可以但是不稳定,每次失败后全量编译很耗费时间,既然没有好的方案就于是作者开始自己尝试做。本文的源码在这里
  7. 《FlexboxLayout 帮助您完成聪明的 UI 布局》:去年 Google 的 I/O 上发布了 ConstraintLayout,使得开发者在构建复杂布局的同时能够让视图层级得到精简。它在 Android Studio 的 Visual Layout Editor 中也同样可以使用。同时,Google 开源了 FlexboxLayout,使得 Android 里的 CSS Flexible Layout 模块也能拥有同样强大的功能。本文详细介绍了 FlexboxLayout 的使用方法。
  8. 《美团点评移动网络优化实践》:网络优化对于 App 产品的用户体验至关重要,与公司的运营和营收息息相关。有两个公开的数据:页面加载超过 3 秒,57% 的用户会离开。Amazon 页面加载延长 1 秒,一年就会减少 16 亿美金营收。在美团点评,监控团队开发了基于端到端的客户端监控平台。端对端就是请求从客户端发出到服务端响应返回的整个过程。它区别于后台服务监控,是一种从用户角度观察到的真实体验监控。本文是美团网络优化的实践,对于我们进行相应优化很有参考价值。
2017-03-22 19:005912
用户头像

发布了 121 篇内容, 共 52.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

中秋节如何拍月亮

卢卡多多

9月日更

Prometheus 2.22.0 新特性

耳东@Erdong

Prometheus 9月日更

模块八作业

NewBranSTONE

架构实战营

【Vuex 源码学习】第六篇 - Vuex 的模块收集

Brave

源码 vuex 9月日更

小小感悟

Nydia

华强买瓜•程序员版

三分恶

程序员

Zookeeper配置管理自动更新

Mike

Redis核心原理与实践--列表实现原理之quicklist结构

binecy

redis 数据结构 原理分析

CyclicBarrier类在性能测试中应用

FunTester

线程 多线程 性能测试 线程安全 FunTester

k8s deployment controller源码分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

【LeetCode】括号的最大嵌套深度Java题解

Albert

算法 LeetCode 9月日更

写给互联网工程师的5G书 | 2. 无线传输

俞凡

架构 5G

谈 C++17 里的 Observer 模式 - 补

hedzr

c++ 设计模式 观察者模式 Design Patterns c++17

模块八作业:设计消息队列存储消息数据的MySQL表格

Felix

autojs自动化框架简介

IT蜗壳-Tango

9月日更

【LeetCode】回文链表Java题解

Albert

算法 LeetCode 9月日更

在线JSON转jsdoc工具

入门小站

工具

【Flutter 专题】42 图解页面截屏与本地保存小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

写给互联网工程师的5G书 | 3. 基础架构

俞凡

架构 5G 网络

JVM启动参数学习笔记一

风翱

9月日更 JVM启动参数

网络攻防学习笔记 Day140

穿过生命散发芬芳

9月日更 网站安全基础

产品分析:谁是利益相关者?

石云升

产品经理 9月日更

Opus从入门到精通(四)Opus解码程序实现

轻口味

android 音视频 9月日更

Linux初体验:Linux操作系统

在即

9月日更

Scrum Patterns:昨日天气(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

什么是数据粒度

奔向架构师

数据仓库 9月日更

【优化技术专题】「温故而知新」基于Quartz系列的任务调度框架的动态化任务实现分析

码界西柚

Java quartz 任务调度 9月日更

要养成编写有语义的HTML的习惯

Regan Yue

html 大前端 9月日更

利用 Python 分析了一波月饼,我得出的结论是?

JackTian

Python 数据分析 数据可视化 中秋 月饼

linux之fping命令

入门小站

Linux

架构实战营 - 模块 8 - 设计消息队列存储消息数据的 MySQL 表格

雪中亮

架构实战营 #架构实战营

Android开发周报:美团热更新方案Robust开源、Apk编译速度优化详解_Android/iOS_郭亮_InfoQ精选文章