
阅读须知 本文源码基于 Android 10。 Questions 如何处理系统服务启动的依赖关系? 如何发布系统服务,让其对其他应用或服务可见? SystemServer ...
阅读须知 本文源码基于 Android 10。 Questions Zygote 是什么?有什么作用?? Zygote 是如何启动的,启动后做了哪些事情? 为什么不用 Sys...
1. 写在前面 在 Gradle源码分析(四)[https://www.jianshu.com/p/10e14aabbfbd]一文中,我们分析了Gradle构建流程的 Tas...
Jitpack不香吗
如何使得自己的代码被别人优雅引用:快速上传Android Library到JCenter超详细教程前言 在日常Android开发中,我们经常会通过 远程引用别人的代码(Android Library)来实现一些功能,如引用 网络请求库 Okhttp 那么,该如何使得自己的...
前言 在日常Android开发中,我们经常会通过 远程引用别人的代码(Android Library)来实现一些功能,如引用 网络请求库 Okhttp 那么,该如何使得自己的...
@Autowired 在Activity进行数据传递一般都会通过getIntent().putxxx()/getxxx()方法;在Fragment中进行数据传递一般都会通过g...
简介 APT 全称 Annotation Processing Tool,即注解处理器。更确切的说,它是 javac 的一部分,能够在编译期扫描和处理注解,并生成文件。 那么...
@Route 在组件化,模块化过程中,经常会遇到不同的模块之间进行页面跳转,通信等;ARouter 提供了 @Route 注解来简化这一过程。 定义 先来看看 @Route ...
1. 写在前面 在 Gradle源码分析(一)[https://www.jianshu.com/p/625bc82003d7]一文中,我们分析到了 DefaultGradle...
1. 写在前面 在执行gradle命令的时候,你是否想过它是如何运作的。接下来几篇文章将从入口开始逐步分析 gradle 的启动,构建流程。(gradle 源码版本为 5.6...
1. 写在前面 在 Gradle源码分析(二)[https://www.jianshu.com/p/d934b3a28c33]一文中,我们分析了Gradle构建流程的 Loa...
抛砖引玉 使用过 LeakCanary 的童鞋都知道,早在 LeakCanary 1.x 版本的时候,我们需要在 Application 中手动调用 install 方法来完...
View的基础知识 View是所有控件的基类,ViewGroup继承了View, ViewGroup表示一个控件组,内部可以包含多个控件, 例如LineraLayout就是继...
GestureDetector构造方法,实际上调用的都是GestureDetector(Context context, OnGestureListener listener...
ViewAnimation 属性插值器Interpolator 是个接口,系统已经实现了几种插值器,在使用的时候,以LinearInterpolator为例 在Xml中: a...
attrs values 文件夹中定义attr属性文件 attr的format取值类型( 属性定义时可以指定多种类型 ) xml中使用自定义的attr属性值<com.aqrl...