- Activity
- 生命周期
- 启动模式
- 状态保存
- 任务栈
- Service
- 生命周期
- 基本使用
- 启动方式
- Service与Activity通信
- ContentProvider
- 编写自己的ContentProvider
- 通过ContentProvider获取系统资源
- 图片/音频/视频/联系人/系统账户等获取
- Broadcast
- 本地广播
- 有序广播
- 无顺广播
- 优先级
- 四大组件在manifest.xml中配置
- 掌握Fragment的使用与常见问题
- Intent
- Intent传递数据
- Intent的flag
- 传感器
- 方向传感器
- 加速度传感器
- 多媒体API使用
- 音频播放
- 视频播放
- 拍照与录像
- Sqlite的使用
- Cursor
- 其他数据库API
- Handler机制
- AsyncTask原理
- HandlerThread原理
- IntentService使用
- Notification使用
- 桌面Widget的开发
- 理解RomateView
- 系统权限
- 静态权限
- 动态权限
- Android的数据存储
- 屏幕适配
- 常用UI控件使用
- ActivityManager
- PackageManager
- adb、aapt、dex、shell等命令
- socket
- tcp/ip
- udp
- http
- https
- 证书
- 网络优化
- 即时通讯、直播
- ViewRootImpl
- View树的构建
- View的测量
- View的布局
- View的绘制
- 绘制流程源码分析
- ViewGroup的事件分发
- View的事件分发
- 事件分发的流程与源码分析
- 滑动冲突的解决
- MotionEvent
- 绘制控件
- 组合控件
- 自定义Layout
- Scroller与OvserScroller
- ViewDragHelper
- VelocityTracker
- ViewConfiguration
- GestureDetector
- 滑动的实现方式
- 事件冲突的解决
- 嵌套滑动
- 重写dispatchTouchEvent
- Canvas
- 绘图操作
- 画布变换
- 画布裁剪
- 图层操作
- drawBitmapMesh
- Paint
- Paint常用API
- Paint的Shader:五大着色器
- xfermode:图形混合模式
- mask 滤镜效果,模糊滤镜与浮雕滤镜
- 字体绘制与测量
- 颜色矩阵
- 颜色混合模式
- Path
- 各种Path基础API
- 填充模式
- 贝塞尔曲线。使用贝塞尔曲线组合圆形
- PathMeasure
- Rect与Region
- Bitmap像素的分析
- 自定义Drawable
- Matrix
- Camera投影
- 帧动画
- 补间动画、补间动画原理、补间动画xml写法、自定义动画
- 属性动画
- 属性动画xml写法
- 属性动画源码
- SVG图片、SVG动画
- GIF图片
- 转场动画
- Touch Feedback
- Reveal effect 揭露效果
- Activity Transitions
- Fragment Transitions
- ShareElement
- Curved motion 曲线运动
- View state changes
- Animate Vector Drawable 矢量动画
- MaterialDesingn theme/style
- DrawerLayout
- NavigationView
- TextInputLayout
- Snackbar
- Toolbar
- 百分比控件
- 半透明状态栏
- Palette
- FloatActionButton
- CardView
- CoordinateLayout
- AppBarLayout
- CollcapsingToolbarLayout
- CoordinateLayout原理、自定义Behavior
- TextView、EditText、富文本编辑、各种Span
- RecyclerView技术栈
- Drawable原理
- WebView
- ViewPager
- SurfaceView
- TextureView
- ConstraintLayout
- 常用的系统theme和style属性
- theme和style原理
- 自定义theme和style
- xml drawable
- 下拉刷新
- 自动加载
- 视差效果
- 图片编辑
- 图片模糊效果
- 引导页特性
- 发生OOM的条件分析
- 避免内存泄漏(如何使用更高效的ArrayMap容器、如何避免不经意的“自动装箱”、Lint,StictMode等工具的使用技巧)
- 内存管理机制(共享内存、分配与回收内存、限制应用的内存、应用切换操作)
- OOM(查看内存使用情况)
- onLowMemory与onTrimMemory的回调
- MAT
- LeakCanary
- Memory Monitor
- Allocation Tracking
- Heap Tool
- TraceView
- hierarchyviewer
- MemoryAnalyzer(第三方)
- GT Home(第三方)
- iTest(第三方)
- 列表优化
- 预渲染技术
- 绘图优化
- 布局优化
- UI卡顿分析、过度渲染问题
- Bitmap优化
- 缩放性能优化
- 缓存性能优化
- 重用性能优化
- PNG压缩性能优化
- 微信图片终极压缩方案问题
- Batching批处理技术
- Prefetching预取技术
- GCMNetworkManager高级实践
- Network Traffic Tool工具的使用
- 数据传输:FlatBuffers、WEBP格式图片使用、7Zip极限压缩
- 分析电量的流失
- 分析电量消耗数据
- 分析充电状态和电池管理
- battery-historian工具的使用
- 窝信号对电量消耗
- Job Schedule
- 打包流程分析
- aapt资源文件打包原理
- resources_arsc二进制机构分析
- 资源文件压缩、资源动态加载
- Lint工具优化
- 极限压缩
- Proguard混淆
- 进程常驻
- 优化后台服务的内存消耗
- 数据库优化
- 性能优化
- 线程间通讯
- AsyncTask源码级分析及注意
- HandlerThread的处理
- IntentService使用场景分析和实践
- ThreadPool使用场景和注意
- 多进程APP
- C&C++
- JNI
- NDK
- Linux系统编程
- FFmpeg
- OpenSl ES
- opencv
- Apk的安装过程、Dex
- Context原理
- 四大组件的启动流程
- Android资源访问机制、ClassLoader
- InputManager工作原理
- ServiceManage启动流程
- AMS原理
- WMS原理,窗口的创建过程
- 系统的启动流程
- Dalvik和ART
- Root原理
- MVC
- MVP
- MVVM
- Clean架构
- Databinding
- UML建模
- Android组件化、插件技术、热修复技术
- IPC
- Binder机制
- Bindder连接池
- 对象序列化/AIDL
- Messenger原理
- AndroidStudio
- 快捷键
- 各种分析器
- 常用插件
- Git版本管理
- Gradle深入
- Gradle构建、Gradle插件
- APK编译流程
- App混淆
- App反编译
- RxJava/RxAndroid
- RxBindding
- RxLife
- Dagger2
- Okhttp3
- Stetho
- Retorfit
- LeakCanary
- ButterKinfe
- xStream
- Gson/FastJson
- Glide等四大图片加载框架
- xposed
- 热插件框架
- 热修复框架
- IM服务
- 数据存储
- 第三方分析与统计
- 消息推送
- Bug管理
- 支付
- 云服务
- APP测试
- Bitmap常用工具类
- 资源访问
- 文件操作
- 加密解密
- 网络操作
- AppVersion/AppCompat
- 系统资源获取,照片/文件
- sp工具类
- 缓存工具类
- Adapter封装
- 常用基类封装
- Delegate思想
- 日志管理
- Crash处理
- 键盘处理
- UI单位处理
- 字符串工具类
- 日期工具类
- 数字处理工具类
- ReactNative
- Flutter