系列文章的第五篇,本篇文章主要分析下 Render Tree 的构建及 Layout 过程。 ...
系列文章的第四篇,本篇文章主要分析下 Element.rebuild() 过程。 源码基于 Flutter v1.20.4。 ...
系列文章的第三篇,本篇文章主要分析下收到 VSync 信号回调后 Dart Framework 触发动画的过程及动画实现原理。 基于 Android 平台,Flutter v1.20.4。 ...
在 Flutter App 启动过程或者 State 刷新过程中,会请求注册 VSync 信号。 本篇文章主要分析下 VSync 信号注册以及回调过程。 基于 Android 平台,Flutter v1.20.4。 ...
Flutter 混合栈管理本文主要聊一下 Flutter 混合栈,由于 Flutter 版本跨度较大,所以 Flutter API 也有很大变化,下文中前几个方案的实现看看就好,不用深究。重点关注兼容目前 Flutter 版本(v1.9.1) 的实现。本文以 Android 平台为例进行讲解。 ...
imgcook是阿里实现的基于sketch或Ps设计稿,自动生成布局代码的工具,支持生成支持flexbox布局的代码,包括JARVIS、Vue、微信小程序、React、H5、Rax等等。由两部分组成,一个是sketch(Ps)插件,另外一部分是imgcook平台。 ...
pixeltoapp 是一个通过传统图像处理把屏幕截图转换为 Android 代码的项目,使用python实现,提供在线服务,具体实现在项目源码地址 ...
pix2code 项目通过机器学习,支持输入一张图片输出实际的布局代码,同时支持生成三端(Android、iOS、web)布局代码。 pix2code作为UI2Code的先驱项目,后续的相关项目或多或少的都有参考该项目的实现。 ...
随着业务的快速扩张,原本小作坊式的单个工程的开发模式越来与不能满足实际需求。早在两年多以前,51信用卡管家就向下沉淀出了单独的公用基础库,一些通用的功能组件和个别独立的业务被拆分成 SDK,形成了一套中型项目、多人并行的开发模式,也为未来组件化拆分做准备。 ...
在前两篇文章中,分析了 Android 热补丁框架 Robust 中,几个重要的流程包括: 补丁加载过程 基础包插桩过程 补丁包自动化生成过程 本篇文章主要分析下集成过程中遇到的坑以及分析问题的思路和最终的解决方案。包含: 打补丁包出错? Robust 定义的 API 不够用怎么办? 插件 Plugin Transform 的顺序问题? 与 Aspectj 冲突怎么办? static 方法中包含 super 方法怎么办? ...
在 Android 热补丁框架 Robust 中,几个重要的流程包括: 补丁加载过程 基础包插桩过程 补丁包生成过程 在上一篇文章Android热补丁之Robust原理解析(一)中,我们分析了前两个,补丁加载过程和基础包插桩过程,分析的版本为 0.3.2。该篇文章为该系列的第二篇文章,主要分析补丁自动化生成的过程,分析的版本为0.4.82。 ...
背景最近老婆工作中碰到一些困难,总是跟我抱怨工作好烦,不开心。主要是是因为要处理一些报告,这些 pdf 格式的样本报告比较多,基本都是人工操作比较容易出错,也比较琐碎,好心情都被磨没了。 然后我说要么写个小程序吧,帮你处理这些琐碎的工作,然后就大概梳理了一下主要需求: ...
区块链是什么 区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。中本聪在2008年,于《比特币白皮书》中提出“区块链”概念,并在2009年创立了比特币社会网络,开发出第一个区块,即“创世区块”。 ...
早在16年9月份,美团技术团队就写过一篇文章描述 Android 热补丁框架Robust的简单实现原理,但是并没有开源;然后在17年3月份,美团团队宣布正式开源 Robust并且配套了自动打补丁包工具。本系列文章主要解析Robust实现原理,分为几个方面 补丁加载过程 基础包插桩过程 补丁包生成过程 本文为第一篇,主要讲解补丁加载过程和基础包插桩过程,分析版本 0.3.2。 ...
本文以AndResGuard和Tinker为例讲解下如何模块化配置Gradle,以及一键打Tinker补丁包的实现方法。 ...
Tinker系列文章: Android热补丁之Tinker原理解析 一键接入Tinker Gradle模块化配置 本文是第一篇。 本文分析版本 93ecc9351367badc02a91fac25764bee50e6e6a6项目地址: Tinker 背景在今年的MDCC大会上,微信开发团队宣布正式开源Tinker,在这之前微信团队已经发出过一些Tinker的相关文章,说实话在开源之前我们还是相当期待Tinker开源的,一方面是因为之前使用的热补丁一直存在一些兼容性问题,另一方面也好奇Tinker的实现方案。 ...
快捷键整理了下常用的快捷键因为我用AndroidStudio的vim插件,所以在编辑这块没有整理太多。需要的同学可以自己学些下。 熟记这些快捷键 + vim = 基本不用鼠标 = 提升效率50% ...
背景新项目的网络库已经由Volley切到了Retrofit,配合Rxjava + Dagger2 + CleanArchitecture ,有效的将项目解耦和,各个层次职责更清晰。依赖注入和注解、动态代理极大的简化了网络请求,开发更高效。 项目中经常会有上传文件的需求,特别是上传图片。上传图片通常有两种方式: bitmap通过Base64转为String,这种方式对于客户端最友好,但是对于服务端要复杂些 multipart/form-data 方式 ...