Android 知识技能图谱
2021-10-11 16:20:35 2 举报
AI智能生成
登录查看完整内容
Android 开发相关的知识技能图谱
作者其他创作
大纲/内容
H5
React Native
Weex
Flutter
小程序
跨平台
Kotlin
数组、链表
栈和队列
树、堆、图
散列表
排序
双指针、滑动窗口、字符串
递归、分治、二分
回溯、贪心、动态规划
常用算法
海量数据处理
数据结构和算法
LeetCode、剑指Offer
分层模型
TCP
UDP
HTTP、HTTPS
网络
数据分析
项目管理
面试题精选
为什么会有Activity?
生命周期方法
standard、singleTop、singleInstance、singleTask
main
category
intent filter
应用场景
NEW TASK
CLEAR TOP
SINGLE TOP
Intent flag
task affinity
启动模式和任务栈的管理
首次启动:首次安装该 App 时的启动事件
热启动:进程还在,从后台唤醒到前台
冷启动:进程不再
Activity启动流程
数据保存
数据恢复
横竖屏切换时,生命周期的变化
影响 Activity 启动速度的因素有哪些?如何优化 Activity 的启动速度?
微信、支付宝支付界面的启动方案如何设计,有哪些借鉴意义?
Activity 的数据恢复的其他方案有哪些(至少 3 种),这些方案各有哪些优劣?
LifeCycle 如何观察 Activity 的声明周期?使用了何种设计模式,阐述下核心的设计流程
四种启动模式,各自典型的应用场景有哪些,如果自己设计管理 Activity 的任务栈,有哪些思路可以参考?
从 Activity 关键生命周期方法中,如何统计一个 Activity 的用户使用时长,在做的时候,应该注意哪些问题?(类似友盟、TalkingData 这样的数据分析平台,会提供基本的应用使用数据,如果自己实现该功能,应该怎么做?)
Activity 、Window和 View 之间的关系
扩展
Activity
可以在后台长时间执行而没有用户交互的组件
是什么
Service 与 Thread 的区别?
定义
主动启动
绑定启动
onCreate
onStartCommand
onBind
onDestory
生命周期管理
foreground
background
bound
分类
IntentService
JobIntentService
JobService
派生类
Service
类型
注册方式
系统广播发送和接收的实现原理
本地广播发送和接收的原理
BroadcastReceiver
系统的 ContentProvider
自定义 ContentProvider
不同版本之间从差异
安全问题
ContentProvider
解决多屏适配的问题
Fragment 设计的初衷
关键生命周期、状态管理、懒加载
添加 Fragment 的方式
FragmentManager
FragmentTransaction
相关的类
Fragment 与 Activity 之间的数据交互方式
Fragment 之间的数据交互方式
Fragment嵌套
Fragment数据传输方式
Fragment
ListView/RecyclerView
Dialog/Popup
ConstraintLayout
Toolbar/StatusBar
ViewPager/ViewPager2
WebView
Android中常用的布局,如何做UI适配
LIfeCycle
ViewModel
LiveData
Databinding
Jetpack
官方控件的理解
Handler
Looper
MessageQueue
postDelayed的实现
Android 消息机制
事件的分发流程
事件的消费流程
事件冲突的解决方案
Android 事件处理机制
View、ViewGroup绘制流程
自定义View的效率问题
Window、Activity、DecorView、RootView之间的关系
帧动画
属性动画
矢量动画
Lottie
动画
自定义View
Glide
OKHttp
Rxjava
Retrofit
EventBus
基础库的理解和应用
多线程、多进程
异步
效率问题
SharePreference
常用的关键字
sql 语法
事务
GreenDAO
Room
ORM框架
SQlite
文件锁
文件
实现原理
效率特点
mmap 的原理机制
MMKV
LruCache的原理解析
数据存储
换肤
资源压缩
App的主题、资源
管道
socket
信号量
消息队列
共享内存
Linux IPC
Binder
Intent
共享文件
AIDL
Socket
Android
多进程
线程同步
线程池
多线程
多进程、多线程
Android基础
启动速度
内存、内存泄露、OOM
卡顿
UI绘制
安装包大小
native crash、ANR
性能优化
组件的原子设计
路由机制
组件之间解耦方案设计
状态、数据同步
组件化
四大组件的加载
资源加载流程、资源冲突解决方案
插件的管理
插件化
AspectJ
ASM
https://github.com/eleme/lancet/blob/develop/README_zh.md
AOP
Broadcast
Android进程间通信方式
权限处理
Tinker
Roboost
热修复原理
系统架构
Dalvik
ART
系统启动
类加载
APK打包
APK 安装
Android系统
播放器
Android高级知识
字符串
泛型擦除
StringBuilder
ConcurrentHashMap
集合
Set
HashMap
HashTable
HashSet
ArrayMap
SparseArray
Map
ArrayList
LinkedList
List
容器
NIO
OKIO
IO
Exception
Volatile
wait
synchronized
死锁
乐观锁
可重入锁
lock
同步
Java并发
JVM内存模型
JVM内存结构
GC
四种引用
ClassLoader
Java虚拟机
Java基础知识
MVC
MVP
MVVM
AAC
对扩展开放,对修改关闭
开闭原则
一个类、方法职责单一
单一职责
高层次模块不依赖低层次模块的具体实现,抽象不应该依赖细节
依赖倒置
引用基类的地方都能替换成子类
里式替换
类之间的依赖关系应该建立在最小的接口上
接口隔离
一个类对其他的对象,应该有尽量少的了解
迪米特原则
6大原则
创建型(5)
结构型(7)
行为型(11)
23种模式
Android中的具体应用场景
动态代理原理及其实现
设计模式及原则
架构设计
内存、内存泄露
FPS
ANR
OOM
native crash
AS 中的构建过程
打包方式、编译效率
持续交付、定制化打包
Groovy、kotlin、shell脚本
lint
编码规范
静态代码扫描
Javassist
Gradle Transform
工程效率
代码混淆
资源混淆、压缩
反编译常用工具
JNI交互流程
接口完全
本地数据安全
动态调试
smali语法
安全
Android 知识系统
收藏
收藏
0 条评论
回复 删除
下一页