QCon 全球软件开发大会倒计时2个月!讲师已确认60%+ >>> 了解详情
写点什么

Android 开发周报:微信模块化重构实践、滴滴插件化项目开源

  • 2017-07-13
  • 本文字数:1543 字

    阅读完需:约 5 分钟

  1. 《微信 Android 模块化架构重构实践》:随着代码膨胀,一些问题开始突显出来。基础工程一直处于不断膨胀的状态,同时主工程也在不断变大。同时基础工程存在中心化问题,许多业务 Storage 类被附着在一个核心类上面,久而久之这个类已经没法看了。此外当初为了平滑切换到 gradle 避免结构变化太大以及太多 module,我们将所有工程都对接到一个 module 上。缺少了编译上的隔离,模块间的代码边界出现一些劣化。虽然紧接着开发了工具来限制模块间的错误依赖,但这段时间里的影响已经产生。在上面各种问题之下,许多模块已经称不上“独立”了。所以当我们重新审视代码架构时,以前良好模块化的架构设计已经逐渐变了样。因此,微信团队决定重构。
  2. 《滴滴插件化项目VirtualAPK 开源》:滴滴团队在 2016 年开始研究插件化方面的技术,经过半年的开发、测试、适配和线上验证,目前推出了一款比较完善的插件化框架: VirtualAPK 。之所以现在推出来,是因为 VirtualAPK 在内部已经得到了很好的验证,在迭代过程中不断地做机型适配和细节特性的支持,目前已经达到一个非常稳定的状况,足以支撑滴滴部分乃至全部业务的动态发版需求。目前 VirtualAPK 应用于滴滴乘客端和优步中国 APP 中,大家可以去体验。
  3. 《WebView 安全性的新功能》:应用程序中对于外部和不信任内容的处理经常是重要的功能之一。新闻阅读器显示头条新闻文章、购物应用展示销售物品的目录。作为处理不信任内容而带来的相关风险是一个攻击者能够损害您的应用程序主要的方式之一,即传递给你错误格式的内容。
  4. 《GIF 简述及其在 QQ 音乐的应用》:GIF(Graphics Interchange Format) 是 CompuServe 公司在 1987 年开发的图像文件格式,原义是图像互换格式。GIF 是一种基于 LZW 算法的连续色调的无损压缩格式,其压缩率一般在 50% 左右,它不属于任何应用程序。本文详细介绍了 GIF 的知识点。
  5. 《深入理解 Android 控件》:本篇文章主要通过源码讲述 Android 控件系统,包括输入事件是如何产生的, View 是如何绘制的,输入事件是如何传递给 View 的,Window token 与 type 之间的联系等。整个系统比较复杂,每个部分只能点到为止,有兴趣可以继续深入,主要是让读者对 Android 控件系统有一个大体的认识。
  6. 《Android 上的 Notification》:Notification 是自 Android 发布以来就有的 API,也是应用程序中最常用的功能的之一,开发者对其应当是相当的熟悉了。在 Android 近几年的版本更新中,几乎每个版本都会对系统通知界面,以及相关 API 做一些的改变。这些改变使得开发者可以更好的控制应用程序的通知样式,同时也使得通知功能更易于用户使用。本文详细讲解了 Notification 方面的知识,推荐大家阅读。
  7. 《Android NDK 开发扫盲及最新 CMake 的编译使用》:本文解释了 JNI、NDK, 以及分别和 Android 开发、c/c++ 开发的配合。并且在解释过程中对 Android.mk、Application.mk、ndk-build、CMake、CMakeList 这些常见名词进行扫盲。本文旨在简介 Android 中 NDK 是什么以及重点讲解最新 Android Studio 编译工具 CMake 的使用,对于入门 NDK 开发很有帮助。
  8. 《微信移动数据库组件 WCDB(四) — Android 特性篇》:微信的移动端数据库组件 WCDB 已经正式开源了,有关注的小伙伴可能已经用上了。之前已经发过几篇 iOS 和修复的文章,Android 由于接口跟系统几乎一样,相信大家都比较熟悉,不熟悉用法也可以到 Android Developer 官网看一下。但是,我们也有一些特色功能和优化大家可能不容易注意到, 本文为我们进行了详细介绍。
  9. Android 平台 Native 代码的崩溃捕获机制及实现》:在 Android 平台,native crash 一直是 crash 里的大头。native crash 具有上下文不全、出错信息模糊、难以捕捉等特点,比 java crash 更难修复。所以一个稳定、可靠的异常处理组件显得尤为关键。
2017-07-13 19:004051
用户头像

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

关注

评论

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

豪华阵容!13位专家力荐Spring5为企业级开发提供一站式方案

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

在线文本按列截取工具

入门小站

工具

博文推荐|深度解析如何在 Pulsar 中实现隔离

Apache Pulsar

Java 架构 分布式 云原生 Apache Pulsar

声网下一代视频引擎架构探索与实践

声网

音视频 视频处理 RTE 技术详解

程序员如何应对职业天花板

石云升

职场天花板 职场经验 11月日更

linux 上查找包含特定文本的所有文件

入门小站

Linux

docker vs docker-compose 解密

liuzhen007

11月日更

Prometheus Exporter (十)Ping Exporter

耳东@Erdong

Prometheus ping exporter 11月日更

架构实战营-模块六

瓜子葫芦侠

「架构实战营」

博文推荐 | Apache Pulsar 三大跨地域复制解决方案

Apache Pulsar

Java 架构 分布式 云原生 Apache Pulsar

活动预告|AICon全球人工智能与机器学习技术大会

第四范式开发者社区

机器学习 开源 OpenMLDB

搞定大厂算法面试之leetcode精讲6.深度优先&广度优先

全栈潇晨

算法面试 Leet Code

译文 | Apache Pulsar 集群如何确保消息不丢

Apache Pulsar

Java 分布式 云原生 中间件 Apache Pulsar

风口上的低代码:我们看到了这些变化与趋势

脑极体

[Pulsar] 消息生命历程(四)——Broker的消息处理

Zike Yang

Apache Pulsar 11月日更

《深入理解JVM虚拟机》读书笔记:第二章 Java内存区域与内存溢出异常

Joseph295

DPDK 网络协议栈-vpp-OvS-DDos-虚拟化专家之路

赖猫

Linux 网络协议栈 DPDK

【死磕Java并发】-----J.U.C之AQS:阻塞和唤醒线程

chenssy

11月日更 死磕 Java 死磕 Java 并发

架构原则

卢卡多多

架构 11月日更

博文推荐 | 基于 Pulsar 事务实现 Exactly-Once 语义

Apache Pulsar

Java 架构 云原生 中间件 Apache Pulsar

央视新闻联合百度智能云打造首个AI手语主播

百度大脑

人工智能

一物一码可追溯!看区块链如何帮助消费者

CECBC

JavaScript 数组展平方法: flat() 和 flatMap()

devpoint

11月日更 flat flatMap

小谈C#异常

喵叔

11月日更

【高并发】浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier

冰河

Java 并发编程 多线程 高并发 异步编程

Android C++系列:Linux进程间通信(二)

轻口味

c++ android jni 11月日更

Java Collectors API实践

FunTester

Java API 测试开发 FunTester Collectors

头条观察 | 元宇宙成为必然趋势的三种可能

CECBC

贪心算法:加油站 ⛽

空城机

算法 大前端 11月日更

为什么要学习linux内核源码以及如何学习Linux内核源码

赖猫

c++ Linux 运维 嵌入式 Linux内核

如何使用find和locate 命令在Linux 中查找文件和目录?

Ethereal

Linux find locate

Android开发周报:微信模块化重构实践、滴滴插件化项目开源_Android/iOS_郭亮_InfoQ精选文章