NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:004083
用户头像

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

关注

评论

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

跟着卷卷龙一起学Camera--金字塔融合法01

卷卷龙

ISP camera 10月月更

跟着卷卷龙一起学Camera--ISO

卷卷龙

ISP camera 10月月更

40道Promise输出题,你都会了吗?🔥

CoderBin

面试 前端 JavaScrip 10月月更

Vue常用修饰符大全

CoderBin

面试 Vue 前端 10月月更

借助小程序框架打破APP开发壁垒

Geek_99967b

小程序

Qt|编译QuaZip以及程序应用

中国好公民st

c++ qt 10月月更

技术管理 之 技术

码猿外

技术管理

【C语言内功修炼】动态内存管理的奥秘

Albert Edison

C语言 malloc 动态内存 10月月更 free

《高性能MySQL 第四版》正式上市

MySQL 数据库

2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。 package main const s = “Go101.org“ // len(s) == 9

福大大架构师每日一题

golang 福大大 选择题

【愚公系列】2022年10月 Go教学课程 022-Go容器之字典

愚公搬代码

10月月更

什么是DataOps?DataOps与DevOps 有什么区别?

雨果

DataOps

Python应用之基础结构-链表-合并两个有序链表

智趣匠

链表 10月月更 合并有序

斐波那契数

掘金安东尼

算法 10月月更

【Nacos源码之配置管理 七】服务端增删改配置数据之后如何通知集群中的其他机器

石臻臻的杂货铺

nacos 10月月更

微信朋友圈高性能复杂度分析

业务流程巡检拨测常用的开源工具

阿泽🧸

10月月更 业务流程

AI大模型的白垩纪

脑极体

【Nacos源码之配置管理 八】客户端怎么获取服务端集群列表

石臻臻的杂货铺

nacos 10月月更

跟着卷卷龙一起学Camera--金字塔融合法02

卷卷龙

ISP camera 10月月更

Python应用之基础结构:链表- 删除排序链表中的重复元素

智趣匠

10月月更 链表结构 基本元素

Python应用之基础结构:二叉树 前序遍历

智趣匠

二叉树 遍历 10月月更

Java 函数式编程

Ayue、

java8

数据工程师吐槽:数据API开发的那些烦心事

雨果

数据api

企业应该如何进行知识管理?

Baklib

知识管理 知识库

大数据ELK(十七):Elasticsearch SQL 订单统计分析案例

Lansonli

10月月更 Elasticsearch SQL

分布式定时任务设计及其框架

穿过生命散发芬芳

10月月更 分布式定时任务

小程序插件其实很简单

Geek_99967b

小程序 小程序插件

2022-10-8

留白的艺术

leetcode 94. Binary Tree Inorder Traversal 二叉树的中序遍历(中等)

okokabcd

LeetCode 数据结构与算法

Spring Boot「01」构建 REST API

Samson

Java Spring Boot Web 学习笔记 10月月更

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