插件化基础
插件化介绍 插件化背景 热修复是用来在线修复严重性的 bug,那么 Android Native 代码如何实现功能模块的在线更新?就需要用插件化了。插件化也是解决 64K 问题的一大利器。 出现的背景 App 的体积越来越庞大,功能模块越来越多 模块耦合度高,协同开发沟通成本极大 方法数可能超过 65535,占用内存过大 插件化概念 宿主主 App,可以加载...
插件化介绍 插件化背景 热修复是用来在线修复严重性的 bug,那么 Android Native 代码如何实现功能模块的在线更新?就需要用插件化了。插件化也是解决 64K 问题的一大利器。 出现的背景 App 的体积越来越庞大,功能模块越来越多 模块耦合度高,协同开发沟通成本极大 方法数可能超过 65535,占用内存过大 插件化概念 宿主主 App,可以加载...
Android 显示基础 Tearing 屏幕撕裂 同一时刻显示 2 个帧不同的画面,双缓冲可以解决该问题。 Jank 一帧显示 2 次 一帧数据在屏幕上连续出现 2 次减少 jank 出现解决: vsync 三缓存 Double Buffer 双缓存? 双缓存技术,两块 buffer,一块 back buffer 用于 CPU/GPU 后台绘制,另外一块 fram...
Android 桌面角标、桌面红点 Android 桌面角标介绍 原生系统不支持Android 8.0 之前原生是不支持应用角标的;8.0 及 + 的系统支持红点不支持数量 适配确实是非常坑爹的需求。原生系统根本就没有这个功能,国内很多厂家效仿 ios 都自己定义了该功能。Android 程序员就很苦逼,要适配很多机型。建议万不得已情况下还是不要进行这项工作。 其实这个功能和手...
ActivityLifecycleCallbacks ActivityLifecycleCallbacks 基础 ActivityLifecycleCallbacks 接口介绍 API 14 之后,在 Application 类中,提供了一个应用生命周期回调的注册方法,用来对应用的生命周期进行集中管理,这个接口叫 registerActivityLifecycleCallbacks,可...
ViewStub 什么是 ViewStub? ViewStub 使用? ViewStub 和 ViewBinding 封装 fun ViewStub.isRealInflated():Boolean { return inflatedId != View.NO_ID && parent == null } fun ViewStub...
git 常用命令别名 oh-my-zsh 中的 git 别名 oh my zsh 会自动启用 git 插件,默认有很多方便的别名,在此记录一下,可以使用下面的命令查看 git 插件具体替换了什么 cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh 常用别名 查看别名:which gcl 别名 原始命令...
Git 奇淫技巧 Git clone 加速 有时候我们对 github 的仓库进行 clone 的时候,会发现很慢,甚至是龟速,很不够效率。好在有一个简单且快捷的方法来倍速提升 clone 效率。 git clone https://github.com/flutter/flutter.git --config "http.proxy=192.168.1.6:1611" 通过...
Git lfs 什么是 lfs Git LFS(Large File Storage),用以帮助 git 管理比较大的文件。git 的 diff 等是基于文件。对于二进制文件来说,git 需要存储每次提交的变动。git fls 对于追踪的文件只会保存一个指向其的指针。不会在本地仓库保存你每次提交的所有版本。对于历史提交版本,基本上我们都很少去动,不需要检出。所以这样极大的节省了空间和仓库...
Git Hooks 钩子 什么是 Git Hooks? git hooks 是一些自定义的脚本,用于控制 git 工作的流程,分为客户端钩子和服务端钩子。 客户端钩子 客户端钩子分为很多种。 下面把它们分为:提交工作流钩子、电子邮件工作流钩子和其它钩子。主要介绍提交工作流钩子:pre-commit、prepare-commit-msg、commit-msg、post-commit。 ...
Android 屏幕刷新机制 VSync Android 在 “ 黄油计划 “ 中引入的一个重要机制就是:vsync,为了增强界面流畅度。引入 vsync 本质上是要协调 app 生成 UI 数据和 SurfaceFlinger 合成图像,App 是数据的生产者,surfaceflinger 是数据的消费者,vsync 引入避免 Tearing 现象。vsync 信号有两个消费者,一个是...