没有合适的资源?快使用搜索试试~ 我知道了~
原版Android核心知识点笔记V202003301
试读
330页
需积分: 0 2 下载量 22 浏览量
更新于2022-08-03
收藏 3.43MB PDF 举报
在深入探讨Android核心知识点之前,我们先来理解Java虚拟机(JVM)的工作流程,这是Android应用开发的基础。JVM是Java程序运行的平台,它的主要任务是执行字节码,提供了一个“一次编写,到处运行”的环境。
1.1.1 JVM工作流程
JVM的工作流程主要包括类加载、验证、准备、解析和初始化几个阶段。类加载器将类的.class文件加载到内存中;然后,验证确保字节码的正确性,防止恶意代码执行;接着,准备阶段为类的静态变量分配内存并初始化为默认值;解析阶段将符号引用转换为直接引用;初始化阶段执行类的初始化方法。
1.1.2 运行时数据区
JVM的运行时数据区包括堆内存、栈内存、方法区、程序计数器和本地方法栈。每个线程都有自己的程序计数器和栈,而堆和方法区是所有线程共享的。堆是对象的出生地,方法区存储类的信息,如常量池、字段和方法数据。
1.1.3 方法指令
JVM使用一系列字节码指令来执行方法。这些指令包括数据操作、运算控制、类型处理、对象操作、异常处理等,如`aload`用于加载引用到栈顶,`iadd`用于执行加法操作。
1.1.4 类加载器
类加载器负责加载类到JVM中。主要有引导类加载器、扩展类加载器和应用程序类加载器,以及用户自定义的类加载器。它们遵循双亲委派模型,即从顶层加载器开始尝试加载类,如果找不到则向下传递。
1.1.5 垃圾回收(GC)
垃圾回收是JVM自动管理内存的过程,旨在回收不再使用的对象所占用的空间。对象存活判断有引用计数法和可达性分析法,其中可达性分析法是现代JVM常用的方法。垃圾收集算法包括标记-清除、复制、标记-整理和分代收集等,每种算法各有优缺点。垃圾收集器如Serial、Parallel、CMS、G1等,针对不同的性能需求和应用场景。
1.2 static
`static`关键字用于声明静态成员,包括静态变量和静态方法。静态成员属于类,而非类的实例,因此它们在类加载时就存在,不依赖于任何对象。
1.3 final
`final`关键字用于声明不可变的变量、常量或类。对于变量,一旦赋值后就不能再改变;对于类,声明为`final`的类不能被继承;对于方法,`final`方法不能被子类重写。
这些是Android开发中基础的Java知识点,掌握它们有助于理解Android应用的运行机制和内存管理。在实际开发中,还需要学习更多高级特性,如多线程、并发控制、网络编程、数据库操作、UI设计等,这些都是构建高效、稳定、用户体验良好的Android应用的关键。
2020 Android 复习资料汇总版
目录
2020 Android 复习资料汇总版
...................................................................................................................................
1
一、JAVA 知识点汇总
..................................................................................................................................................
9
1.1 JVM
..................................................................................................................................................................
9
1.1.1 JVM 工作流程
.....................................................................................................................................
9
1.1.2 运行时数据区(Runtime Data Area)
...........................................................................................
9
1.1.3 方法指令
...........................................................................................................................................
11
1.1.4 类加载器
...........................................................................................................................................
11
1.1.5 垃圾回收 gc
.....................................................................................................................................
12
1.1.5.1 对象存活判断
........................................................................................................................
12
1.1.5.2 垃圾收集算法
........................................................................................................................
13
1.1.5.3 垃圾收集器
............................................................................................................................
14
1.1.5.4 内存模型与回收策略
............................................................................................................
15
1.2 static
..............................................................................................................................................................
17
1.3 final
................................................................................................................................................................
17
1.4 String、StringBuffer、StringBuilder
.........................................................................................................
18
1.5 异常处理
......................................................................................................................................................
18
1.6 内部类
..........................................................................................................................................................
19
1.6.1 匿名内部类
.......................................................................................................................................
19
1.7 多态
..............................................................................................................................................................
20
1.8 抽象和接口
..................................................................................................................................................
20
1.9 集合框架
......................................................................................................................................................
20
1.9.1 HashMap
...........................................................................................................................................
21
1.9.1.1 结构图
....................................................................................................................................
21
1.9.1.2 HashMap 的工作原理
..........................................................................................................
22
1.9.1.3 HashMap 与 HashTable 对比
............................................................................................
23
1.9.2 ConcurrentHashMap
.......................................................................................................................
26
1.9.2.1 Base 1.7
...................................................................................................................................
26
1.9.2.2 Base 1.8
...................................................................................................................................
27
1.9.3 ArrayList
.............................................................................................................................................
30
1.9.4 LinkedList
...........................................................................................................................................
31
1.9.5 CopyOnWriteArrayList
.....................................................................................................................
35
1.10 反射
............................................................................................................................................................
37
1.11 单例
............................................................................................................................................................
38
1.11.1 饿汉式
.............................................................................................................................................
38
1.11.2 双重检查模式
.................................................................................................................................
39
1.11.3 静态内部类模式
.............................................................................................................................
40
1.12 线程
............................................................................................................................................................
41
1.12.1 属性
.................................................................................................................................................
41
1.12.2 状态
.................................................................................................................................................
42
1.12.3 状态控制
.........................................................................................................................................
43
1.13 volatile
........................................................................................................................................................
44
1.14 synchronized
..............................................................................................................................................
45
1.14.1 根据获取的锁分类
.........................................................................................................................
46
1.14.2 原理
.................................................................................................................................................
46
1.15 Lock
.............................................................................................................................................................
47
1.15.1 锁的分类
.........................................................................................................................................
48
1.15.1.1 悲观锁、乐观锁
..................................................................................................................
48
1.15.1.2 自旋锁、适应性自旋锁
......................................................................................................
49
1.15.1.3 死锁
......................................................................................................................................
50
1.16 引用类型
....................................................................................................................................................
50
1.17 动态代理
....................................................................................................................................................
50
1.18 元注解
........................................................................................................................................................
57
二、Android 知识点汇总
..........................................................................................................................................
59
2.1 Activity
..........................................................................................................................................................
59
2.1.1 生命周期
...........................................................................................................................................
59
2.1.2 启动模式
...........................................................................................................................................
61
2.1.3 启动过程
...........................................................................................................................................
61
2.2 Fragment
......................................................................................................................................................
65
2.2.1 特点
...................................................................................................................................................
65
2.2.2 生命周期
...........................................................................................................................................
65
2.2.3 与 Activity 通信
................................................................................................................................
67
2.3 Service
...........................................................................................................................................................
68
2.3.1 启动过程
...........................................................................................................................................
68
2.3.2 绑定过程
...........................................................................................................................................
70
2.3.3 生命周期
...........................................................................................................................................
71
2.3.4 启用前台服务
...................................................................................................................................
73
2.4 BroadcastReceiver
.......................................................................................................................................
73
2.4.1 注册过程
...........................................................................................................................................
73
2.5 ContentProvider
..........................................................................................................................................
74
2.5.1 基本使用
...........................................................................................................................................
75
2.6 数据存储
......................................................................................................................................................
77
2.7 View
...............................................................................................................................................................
77
2.7.1 MeasureSpec
....................................................................................................................................
79
2.7.2 MotionEvent
......................................................................................................................................
81
2.7.3 VelocityTracker
..................................................................................................................................
82
2.7.4 GestureDetector
...............................................................................................................................
82
2.7.5 Scroller
...............................................................................................................................................
84
2.7.6 View 的滑动
......................................................................................................................................
85
2.7.7 View 的事件分发
..............................................................................................................................
86
2.7.8 在 Activity 中获取某个 View 的宽高
.........................................................................................
89
2.7.9 Draw 的基本流程
.............................................................................................................................
91
2.7.10 自定义 View
..................................................................................................................................
92
2.8 进程
..............................................................................................................................................................
92
2.8.1 进程生命周期
...................................................................................................................................
93
2.8.2 多进程
...............................................................................................................................................
94
2.8.3 进程存活
...........................................................................................................................................
95
2.8.3.1 OOM_ADJ
...............................................................................................................................
95
2.8.3.2 进程被杀情况
........................................................................................................................
96
2.8.3.3 进程保活方案
........................................................................................................................
97
2.9 Parcelable 接口
...........................................................................................................................................
97
2.9.1 使用示例
...........................................................................................................................................
98
2.9.2 方法说明
...........................................................................................................................................
99
2.9.3 Parcelable 与 Serializable 对比
..................................................................................................
100
2.10 IPC
.............................................................................................................................................................
100
2.10.1 IPC 方式
.........................................................................................................................................
100
2.10.2 Binder
.............................................................................................................................................
101
2.10.3 AIDL 通信
.....................................................................................................................................
107
2.10.4 Messenger
.....................................................................................................................................
110
2.11 Window / WindowManager
..................................................................................................................
110
2.11.1 Window 概念与分类
...................................................................................................................
110
2.11.2 Window 的内部机制
...................................................................................................................
111
2.11.3 Window 的创建过程
...................................................................................................................
114
2.11.3.1 Activity 的 Window 创建过程
.......................................................................................
114
2.11.3.2 Dialog 的 Window 创建过程
........................................................................................
117
2.11.3.3 Toast 的 Window 创建过程
...........................................................................................
118
2.12 Bitmap
.......................................................................................................................................................
121
2.12.1 配置信息与压缩方式
...................................................................................................................
121
2.12.2 常用操作
.......................................................................................................................................
123
2.12.2.1 裁剪、缩放、旋转、移动
................................................................................................
123
2.12.2.2 Bitmap 与 Drawable 转换
................................................................................................
124
2.12.2.3 保存与释放
........................................................................................................................
124
2.12.2.4 图片压缩
............................................................................................................................
125
2.12.3 BitmapFactory
..............................................................................................................................
126
2.12.3.1 Bitmap 创建流程
...............................................................................................................
126
2.12.3.2 Option 类
...........................................................................................................................
126
2.12.3.3 基本使用
............................................................................................................................
128
2.12.4 内存回收
.......................................................................................................................................
129
2.13 屏幕适配
..................................................................................................................................................
130
2.13.1 单位
...............................................................................................................................................
130
2.13.2 头条适配方案
...............................................................................................................................
130
2.13.3 刘海屏适配
...................................................................................................................................
132
2.14 Context
.....................................................................................................................................................
133
2.15 SharedPreferences
..................................................................................................................................
135
2.15.1 获取方式
.......................................................................................................................................
135
2.15.1.1 getPreferences
..................................................................................................................
135
2.15.1.2 getDefaultSharedPreferences
.........................................................................................
136
2.15.1.3 getSharedPreferences
......................................................................................................
136
2.15.2 架构
...............................................................................................................................................
137
2.15.3 apply / commit
.............................................................................................................................
139
2.15.4 注意
...............................................................................................................................................
139
2.16 消息机制
..................................................................................................................................................
139
2.16.1 Handler 机制
................................................................................................................................
139
2.16.2 工作原理
.......................................................................................................................................
140
2.16.2.1 ThreadLocal
.......................................................................................................................
141
2.16.2.2 MessageQueue
.................................................................................................................
142
2.16.2.3 Looper
................................................................................................................................
147
2.16.2.4 Handler
...............................................................................................................................
149
2.17 线程异步
..................................................................................................................................................
149
2.17.1 AsyncTask
......................................................................................................................................
150
2.17.1.1 基本使用
............................................................................................................................
150
2.17.1.2 工作原理
............................................................................................................................
152
2.17.2 HandlerThread
..............................................................................................................................
155
2.17.3 IntentService
.................................................................................................................................
156
2.17.4 线程池
...........................................................................................................................................
158
2.18 RecyclerView 优化
..................................................................................................................................
159
2.19 Webview
...................................................................................................................................................
161
2.19.1 基本使用
.......................................................................................................................................
161
2.19.1.1 WebView
............................................................................................................................
162
2.19.1.2 WebSettings
......................................................................................................................
162
2.19.1.3 WebViewClient
..................................................................................................................
165
2.19.1.4 WebChromeClient
............................................................................................................
168
2.19.2 Webview 加载优化
......................................................................................................................
171
2.19.3 内存泄漏
.......................................................................................................................................
173
三、Android 扩展知识点
........................................................................................................................................
175
3.1 ART
..............................................................................................................................................................
175
3.1.1 ART 功能
.........................................................................................................................................
175
3.1.1.1 预先 (AOT) 编译
................................................................................................................
175
3.1.1.2 垃圾回收优化
......................................................................................................................
175
3.1.1.3 开发和调试方面的优化
......................................................................................................
176
3.1.2 ART GC
.............................................................................................................................................
177
3.2 Apk 包体优化
............................................................................................................................................
178
3.2.1 Apk 组成结构
.................................................................................................................................
178
3.2.2 整体优化
.........................................................................................................................................
179
3.2.3 资源优化
.........................................................................................................................................
179
3.2.4 代码优化
.........................................................................................................................................
180
3.2.5 .arsc 文件优化
.................................................................................................................................
180
3.2.6 lib 目录优化
.....................................................................................................................................
180
3.3 Hook
............................................................................................................................................................
181
3.3.1 基本流程
.........................................................................................................................................
181
3.3.2 使用示例
.........................................................................................................................................
181
3.4 Proguard
.....................................................................................................................................................
184
3.4.1 公共模板
.........................................................................................................................................
184
3.4.2 常用的自定义混淆规则
.................................................................................................................
190
3.4.3 aar 中增加独立的混淆配置
...........................................................................................................
191
3.4.4 检查混淆和追踪异常
.....................................................................................................................
191
3.5 架构
............................................................................................................................................................
192
3.5.1 MVC
..................................................................................................................................................
192
3.5.2 MVP
..................................................................................................................................................
194
3.5.3 MVVM
..............................................................................................................................................
195
3.6 Jetpack
........................................................................................................................................................
195
3.6.1 架构
.................................................................................................................................................
195
3.6.2 使用示例
.........................................................................................................................................
196
3.7 NDK 开发
...................................................................................................................................................
201
3.7.1 JNI 基础
...........................................................................................................................................
201
3.7.1.1 数据类型
..............................................................................................................................
201
3.7.1.2 String 字符串函数操作
......................................................................................................
202
3.7.1.3 常用 JNI 访问 Java 对象方法
.........................................................................................
203
3.7.2 NDK 开发
........................................................................................................................................
205
3.7.2.1 基础开发流程
......................................................................................................................
205
3.7.2.2 System.loadLibrary()
...........................................................................................................
207
3.7.3 CMake 构建 NDK 项目
................................................................................................................
212
3.7.4 常用的 Android NDK 原生 API
.................................................................................................
215
3.8 计算机网络基础
........................................................................................................................................
216
3.8.1 网络体系的分层结构
.....................................................................................................................
216
3.8.2 Http 相关
........................................................................................................................................
217
3.8.2.1 请求报文与响应报文
..........................................................................................................
217
3.8.2.2 缓存机制
..............................................................................................................................
218
3.8.2.3 Https
.....................................................................................................................................
220
3.8.2.4 Http 2.0
.................................................................................................................................
220
3.8.3 TCP/IP
...............................................................................................................................................
221
3.8.3.1 三次握手
..............................................................................................................................
221
3.8.3.2 四次挥手
..............................................................................................................................
223
3.8.3.3 TCP 与 UDP 的区别
..........................................................................................................
225
3.8.4 Socket
..............................................................................................................................................
225
3.8.4.1 使用示例
..............................................................................................................................
225
3.9 类加载器
....................................................................................................................................................
228
3.9.1 双亲委托模式
.................................................................................................................................
228
3.9.2 DexPathList
......................................................................................................................................
229
四、Android 开源库源码分析
................................................................................................................................
230
4.1 LeakCanary
.................................................................................................................................................
230
4.1.1 初始化注册
.....................................................................................................................................
230
4.1.2 引用泄漏观察
.................................................................................................................................
233
4.1.3 Dump Heap
.....................................................................................................................................
235
4.2 EventBus
.....................................................................................................................................................
237
4.2.1 自定义注解
.....................................................................................................................................
237
剩余329页未读,继续阅读
资源推荐
资源评论
123 浏览量
2020-06-08 上传
144 浏览量
5星 · 资源好评率100%
161 浏览量
140 浏览量
2020-04-04 上传
2017-11-07 上传
2023-06-30 上传
5星 · 资源好评率100%
5星 · 资源好评率100%
5星 · 资源好评率100%
2023-08-07 上传
资源评论
杏花朵朵
- 粉丝: 711
- 资源: 332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 金山PDF教育版编辑器
- 基于springboot+element的校园服务平台源代码项目包含全套技术资料.zip
- 自动化应用驱动的容器弹性管理平台解决方案
- 各种排序算法 Python 实现的源代码
- BlurAdmin 是一款使用 AngularJs + Bootstrap实现的单页管理端模版,视觉冲击极强的管理后台,各种动画效果
- 基于JSP+Servlet的网上书店系统源代码项目包含全套技术资料.zip
- GGJGJGJGGDGGDGG
- 基于SpringBoot的毕业设计选题系统源代码项目包含全套技术资料.zip
- Springboot + mybatis-plus + layui 实现的博客系统源代码全套技术资料.zip
- 智慧农场小程序源代码全套技术资料.zip
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功