Android | Java | 软件基础 | 开源框架 | 技术栈 | 计划 | 读书笔记 |
---|---|---|---|---|---|---|
🐵 | 🍵 | 🏠 | 👐 | ⚛️ | 📑 | 📚 |
- Activity
- Service
- ContentProvider
- BroadcastReceiver
- 守护进程
- IntentFilter 的匹配规则
-
Fragment
-
列表控件
- ListView
- RecyclerView
- ListView 与 RecyclerVide 的区别
-
View
-
View 应用
- Activity 的启动流程
- ActivityManagerService
- WindowManagerService
- PackageManagerService之启动解析
- ContentProvider 之文件储存
- ContentProvider 运行过程源码分析
- ContentProvider 的共享数据更新通知机制
- 安装 *
- Handler
- AIDL
- 单元测试
- api 与 implementation 的区别
- 多渠道打包
- jar 包和 aar 包的区别
- 日常问题记录
- Android 中 Home 键的监听
- shape 布局文件的替换方案
- Android 编码规范
- uses-permission 和 permission 区别及使用
- 类加载器 ClassLoader
- https://www.jianshu.com/p/d182479c7a44 - @CallSuper 注解
-
IO
- NIO
-
Java 中字符串 String switch 的实现原理
-
Java 线程的创建
-
Java 数据类型
-
java 读写文件的几种方式
-
Java 注解
-
Vector
-
ConcurrentModificationException 异常
-
内存模型
-
List
- ArrayList 与 LinkedList
- SkipList
- 线程安全
- list的remove问题
-
Map
-
Tree
-
Queue
- Queue的add与offer的区别
- PriorityQueue
- LinkedList
- ArrayDeque
- 线程安全
-
Stack
- AtomicBoolean
- Executor、Executors、ExecutorService 知识
- 同步的知识
- volatile 知识
- synchronized 知识
- 锁的知识
- Java 中常见的锁
- 死锁
- ReentrantLock 知识
- Condition 知识
- 使用synchronzied、wait、notifyAll实现生产者-消费者模式
- 使用信号量实现生产者-消费者模式
- 使用管程实现生产者-消费者模式
- 哲学家就餐问题
- 读者写者问题
- Semaphore
- countdownlatch
- 线程池
- 线程
- GCRoot
- 类加载
- 类的初始化实例化
- String、StringBuffer 与 StringBuilder 的区别
- hashCode
- treeMap
- String
- 动态代理类 Proxy
- PriorityQueue
- transient
- CopyOnWriteArrayList
- SortedMap / TreeMap
- ArrayBlockingQueue 阻塞队列
- 数据结构
- 算法
- UML类图
- 创建型模式
- 结构型模式
- 行为型模式
- Glide
- Picasso
- ButterKnife
- Dagger2
- LeakCanary
- BlockCanary
- ViewModel
- Livedata
- Lifecycles
- Navigation
- Room
- Paging
- WorkManager
- DataBinding
-
XWalkView
-
Okio
- 扩展函数
- 构造函数
- Latent、by lazy
- 协程
参考资料: fiddler4使用教程
- 类图、时序图的绘制
- 高焕堂 Android 从程序员到架构师之路学习笔记
- JS
- 2019 年计划
- 2020 年计划
- 2021 年计划
- 2022 年计划
- 2019 年总结,2020 年计划
- 2020 年总结,2021 年计划
- 2021 年总结,2022 年计划