Java 动态代理

动态代理和静态代理一般在设计模式中的定义为代理设计模式 定义: 为其他对象提供一种代理以控制对这个对象的访问 使用场景: 当无法或者不想直接访问某个

Compose 动画基础篇之各种 Spec

向左推

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// R.anim.i_slide_in_left
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="100%p"
	android:toXDelta="0"
	android:duration="350"/>
</set>

// R.anim.i_slide_out_left
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="0"
	android:toXDelta="-100%p"
	android:duration="350"/>
</set>

向右推

Android源码之单例设计模式

介绍

单例设计模式可以说是我们在开发中最常用的一个设计模式了, 单利设计模式的核心思想也就是: 在整个应用的生命周期内, 只有一个对象实例的存在

LayoutInflater 单例分析

在 Activity View 加载一个布局的时候, 通常是这样做的

ArrayList源码分析

开篇之前, 想想下面几个问题的答案是什么? 有的时候我们看源码也是, 并不是说一味盲目的直接跑到源码中去看, 我们带着这几个问题去阅读源码, 反而会轻

EventBus 源码分析

大致流程 EventBus 是一种用于 Android 的事件发布-订阅总线, 是一个可以实现组件间通信的一个第三方框架, 使用起来非常的简单, 一共也就是 4 个步骤, 注册订阅, 发送

HashMap源码分析

HashMap 可以说是我们在开发中经常使用的到, 在 Java 的数据结构基础里,HashMap 无疑是一个非常重要的数据结构 现在看看源码里面的方法具体都干了一下什么

Java 中的泛型

假设有 3 个类, 他们的继承关系是这样的 1 2 public class Person { } 1 2 public class Gril extends Person { } 1 2 public class Boy extends Person { } 1 2 public class Father { } 在类上指定的泛型, 那么在当前类, 使用的都

View 的 draw 过程

Draw 过程 View 的工作流程主要是 measure layout draw 这三大流程完成的, 测量, 布局, 绘制, 其中 measure 测量布局的宽高, layout 确定 View 在布局中 4 个顶点的位置, draw 则是将布局绘制在屏