Android 项目构建速度优化随着项目的不断扩大,最影响我们的 Code 效率的是项目的编译。下面我就带着大家从 Android 构建流程中去分析如何提高项目的构建效率。 一切从项目编译过程说起Android 项是从编译到打包流程如下所示: 为了方便大家理解这里对其中主要的构建过程进行描述(上 ...
为什么Java的泛型要用擦除实现
前言在 Java 中的 泛型,常常被称之为 伪泛型,究其原因是因为在实际代码的运行中,将实际类型参数的信息擦除掉了(Type Erasure)。那是什么原因导致了 Java 做出这种妥协的呢?下面我就带着大家以 Java 语言设计者的角度,带领大家一起了解这里面的辛酸过往。 什么是真泛型在了解 J ...
ViewModel这些知识点你都知道吗
前言ViewModel 作为 Jetpack 中的明星组件,相信大家都对其有一定的了解。在 Google 的官方介绍中也详细的罗列了 ViewModel 的优点,如: 可以提供和管理UI界面数据。(将加载数据与数据恢复从 Activity or Fragment中解耦) 可感知生命周期的组件。 ...
Androidx 下 Fragment 懒加载的新实现
前言 年后最后一篇文章啦,在这里先祝大家新年快乐~最重要的抽中全家福,明年继续修福报🤣 以前处理 Fragment 的懒加载,我们通常会在 Fragment 中处理 setUserVisibleHint + onHiddenChanged 这两个函数,而在 Androidx 模式下,我们可以使 ...
Android 注解系列之 EventBus3 原理(四)
前言在之前的文章 Android 注解系列之APT工具(三)中,我们介绍了 APT 技术的及其使用方式,也提到了一些知名的开源框架如 Dagger2、ButterKnife、EventBus 都使用了该技术。为了让大家更好的了解 APT 技术的使用,在接下来的文章中我将会着重带领大家来了解 Eve ...
Android-注解系列之EventBus3”加速引擎“(五)
前言在上篇文章 Android 注解系列之 EventBus3 原理(四)中我们讲解了 EventBus3 的内部原理,在该篇文章中我们将讲解 EventBus3 中的 “加速引擎“—索引类。阅读该篇文章我们能够学到如下知识点。 EventBus3 索引类出现的原因 EventBus3 索引类的 ...
Git新手教程-添加忽略文件(十)
前言通过前面的文章,我相信大家已经对 Git 有所掌握了,现在还剩下最后一个知识点,就是让 Git 添加忽略某些文件。在实际的项目开发中,我们可能不想将一些文件添加到 Git 仓库中。比如,一些敏感文件、临时文件、自动生成文件、日志文件等。那应该怎么操作呢? 实际例子假设我们想创建一个项目并使用 G ...
Git新手教程-远程仓库(九)
前言在前面的文章中,我们一直介绍的在本地Git的仓库相关知识点。而在实际的项目开发中,大多数情况下,我们往往需要和他人进行合作。因此学习如何与他人协作开发项目使我们必须要学习与掌握的知识点。在接下的的文章中,我们将讲解什么是远程仓库,以及如何运用远程仓库。在本文中将介绍如下命令: git remo ...
Git新手教程-存储与清理(八)
前言在实际开发中,常常会遇到这样的情况,我们正在 dev 上开发一个功能,这个时候突然接到上级命令,需要修改一个紧急 bug-5501 ,当然我们马上想到的就是创建一个 branch bug-5501 的分支来修复它,但是这个时候我们在 dev 上的功能已经写了一半了,如果我们直接创建分支,并 ch ...
Git新手教程-撤销更改(七)
前言在前面的文章中,我们学习了标签、分支、和合并。现在我们将学习Git中另外的三个命令git commit --amend , git revert , git reset。下面简单的介绍中几个命令的功能: git commit --amend :可以修改最后一次提交中的内容,加东西,加文件。修改 ...