Java必备基础之反射 2023-12-20 Java 约 4910 字 预计阅读 10 分钟 注:本文代码基于JDK 11 一、Class类 每个已加载的类在内存都有一份类信息,每个对象都有指向它所属类信息的引用,Java中类信息对应的类就是java.lang.Class,所有类的根父类Object有一个方法,可以获取对象的Class对象,请看如下代码: 1 public final native Class<?> getClass(); Class是一 阅读更多
Java必备基础之注解 2023-12-19 Java 约 4318 字 预计阅读 9 分钟 注:本文代码基于JDK 11 一、概述 在Java中,注解就是给程序添加一些信息,用字符@开头,这些信息用于修饰它后面紧挨着的其它代码元素,比如类、接口、字段、方法、方法中的参数、构造方法等等,注解可以被编译器、程序运行时和其它工具使用,用于增强或修改程序行为等等。 二、内置注解 2.1、@ 阅读更多
Java必备基础之泛型 2023-12-18 Java 约 9086 字 预计阅读 19 分钟 注:本文代码基于JDK 11 一、基本概念和原理 “泛型”的字面意思是广泛的类型,类、接口和方法都可以应用于广泛的类型,也就是说,代码与它们能够操作的数据类型不再需要绑定到一起,同一套代码也可以用于多种数据类型,这样不仅可以复用代码,降低耦合,还可以提高代码的可读性和安全性。 1.1、泛型 阅读更多
解读Flutter源码之绘制Paint过程 2023-12-05 Flutter 约 11833 字 预计阅读 24 分钟 注:本文代码基于Flutter SDK 3.13.5 一、与绘制相关的对象 Flutter中与绘制相关的对象有三个,分别是Canvas、Layer和Scene。 Canvas:封装了Flutter Skia各种绘制指令,比如画线drawLine、画圆drawCircle、画矩形drawRect等指令。 La 阅读更多
解读Flutter源码之布局Layout过程 2023-12-01 Flutter 约 14034 字 预计阅读 29 分钟 注:本文代码基于Flutter SDK 3.13.5 一、理解布局约束 在学习Flutter的过程中可能会遇到这样一个问题:为什么给Widget设置了width: 100,但是不起作用? 这时候最应该做的不是怎样去解决这个问题,而是要先去熟悉这条规则:首先,上层Widget向下层Widget传递约束条件; 阅读更多
解读Flutter源码之Navigator(声明式) 2023-11-26 Flutter 约 20159 字 预计阅读 41 分钟 注:本文代码基于Flutter SDK 3.13.5 一、前言 在之前解读Flutter源码之Navigator(命令式)一文中,已分析过Navigator的相关方法API与底层原理,知道了Navigator内部通过Overlay组件来管理路由页面堆栈。 在Flutter1.22版本发布之后,可以发现本 阅读更多
解读Flutter源码之Navigator(命令式) 2023-11-19 Flutter 约 30192 字 预计阅读 61 分钟 注:本文代码基于Flutter SDK 3.13.5 一、什么是Navigator? 先来看下Navigator的注释。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 阅读更多
解读Flutter源码之GestureDetector 2023-11-14 Flutter 约 19804 字 预计阅读 40 分钟 注:本文代码基于Flutter SDK 3.13.5 一、前言 在之前解读Flutter源码之Listener一文中,我们已经知道Listener用来监听原始指针事件,它的事件处理流程分为命中测试-事件分发-事件清理三部分。 而本文所讲的GestureDetector,它的内部实际上是对Listener 阅读更多