享学课堂移动开发大纲升级 V6.03
2022-01-07 14:40:12 258 举报
AI智能生成
享学课堂移动开发大纲V6.03全新升级,以更全面、深入的课程内容,为学员提供更优质的学习体验。新版大纲涵盖了前端开发、后端开发、全栈开发等多个方向,结合最新的技术趋势和市场需求,精心设计了一系列实用技能课程。同时,我们还增加了实战项目环节,让学员在实际操作中巩固所学知识,提升实际工作能力。此外,V6.03大纲还优化了课程结构,使学习路径更加清晰,帮助学员更高效地掌握所需技能。快来加入享学课堂,开启你的移动开发之旅吧!
作者其他创作
大纲/内容
腾讯高级工程师必备数据结构与算法
数据结构
线性表ArrayList
链表LinkedList
栈Stack
队列
Queue
Deque
阻塞队列
Tree
平衡二叉树
红黑树
映射表
HashTable
HashMap
SparseArray
ArrayMap
算法
排序算法
冒泡排序
选择排序
插入排序
快速排序
堆排序
基数排序
查找算法
折半查找
二分查找
树形查找
hash查找
大厂面试刷题指南
链表 15+
队列 15+
堆栈10+
数组20+
字符串 20+
Hash表 15+
树 15+
排序 15+
查找 15+
开放问题 15+
所有题目全部来自一线大厂面试真题
架构师筑基必备技能-Java篇
架构设计中必不可少的泛型
泛型的作用与定义
泛型的协变与逆变
PCES法则:泛型上下边界
泛型擦除原理,泛型桥方法
实战:RxJava中泛型的使用分析
滴滴一面:注解的理解和应用场景
自定义注解
自定义注解与元注解
注解参数与默认值
注解的使用
APT,编译时注解处理器
插桩,编译后自动埋点
反射,运行时动态获取注解信息
注解原理
实战:基于反射场景的Retrofit注解实战
Java高级动态编程技术原理
反射基本概念与Class
三种获取Class对象的方式
获取构造器实例化对象与属性信息
包信息和方法
Hook技术动态编程
ClassLoader类加载器
动态代理模式
Android Davilk与ART
PathClassLoader、DexClassLoader与BootClassLoader
双亲委托机制
动态代理
静态代理与动态代理区别
JDK动态代理原理解析
CGLIB动态代理代理普通类原理
Retrofit动态代理应用实战
遵循开闭原则的IOC事件注入设计实战
高效IO与数据系列化
Java IO 体系
装饰者模式
InputStream与OutputStream
Reader与Writer
序列化与反序列化
Serializable原理
Parcelable接口原理解析
Json
Adapter设计模式
Json解析基本原理
XML
File文件操作
FileChannel
内存映射
IO操作Dex文件加密,APK加固项目实战
DAU千万项目 并发 详解
线程共享和协作
CPU核心数,线程数,时间片轮转机制解读
synchronized、Lock、volatile、ThreadLocal如何实现线程共享
Wait,Notify/NotifyAll,Join方法如何实现线程间协作
线程的深入理解
线程的生命周期。
死锁和更多的并发安全。
ThreadLocal深入理解。
站在巨人肩上操作CAS
CAS的原理
CAS带来的3大问题
原子操作类的正确使用实战
仅会用线程池是不够的
阻塞队列
线程池底层实现分析
线程池排队机制
手写线程池实战
Executor框架解读实战
深入并发原理和大厂面试
1、AQS解析
2、JMM面面观
3、volatile和synchronized辨析
4、一线大厂问些什么?
轻松通过大厂面试的Android JVM原理
JAVA虚拟机
深入理解JVM运行时数据区
JAVA虚拟机栈
虚拟机栈的作用以及数据结构
程序计数器(PC寄存器)
栈帧与方法字节码执行原理
本地方法栈的定义
JAVA堆与对象分配
堆空间分代划分
对象的内存分配
指针碰撞
空闲列表
内存分配的并发:CAS机制方案
内存分配的并发:TLAB分配缓冲方案
对象内存布局
直接内存(堆外内存)
方法区:永久代和元空间
垃圾回收器机制
垃圾判定算法之引用计数与可达性分析法
Java强软弱虚四大引用与Finalize
GC回收算法之标记-清除、复制、标记-整理算法
内存碎片,内存抖动与内存溢出
分代垃圾回收机制
分代回收理论
逃逸分析:对象的栈上分配
对象年龄动态判定
空间分配担保
GC分类与垃圾收集器
Minor GC/Major GC/Full GC
Stop The World(STW)
常见垃圾收集器
Serial/Serial Old
Parallel Scavenge(ParallerGC)/Parallel Old
ParNew、G1与CMS
Dalvik/ART虚拟机
基于寄存器的虚拟机
Dalvik与ART的区别
ART程序安装与运行机制
ART虚拟机的垃圾回收
CC并发复制垃圾收集器
需要整理碎片的CMS
实战:定制化热修复方案
架构师筑基必备技能-Kotlin篇
快速掌握项目开发需要的Kotlin
变量&语句&表达式
00.Kotlin环境工具杂谈篇
01.快速运用Kotlin课程介绍
02.Kotlin语言的成为Android第一语言
03.Kotlin语言和JVM虚拟机
04.学Kotlin语言的重要性
05.Kotlin语言的跨平台特性
06.Kotlin语言学习的技巧
07.Kotlin语言声明变量与内置数据类型
08.Kotlin语言的只读变量
09.Kotlin语言的类型推断
10.Kotlin语言的编译时常量
11.学习查看Kotlin反编译后字节码
12.Kotlin语言的引用类型学习
13.Kotlin语言的range表达式
14.Kotlin语言的when表达式
15.Kotlin语言的String模版
函数&Lambda
16.Kotlin语言的函数头学习
17.Kotlin中函数参数的默认参数
18.Kotlin语言的具名函数参数
19.Kotlin语言的Unit函数特点
20.Kotlin语言的Nothing类型特点
21.Kotlin语言的反引号中函数名特点
23.Kotlin语言的匿名函数学习
24.Kotlin语言的函数类型&隐式返回学习
25.Kotlin语言的函数参数学习
26.Kotlin语言的it关键字特点
27.Kotlin语言的匿名函数的类型推断
28.Kotlin语言的lambda学习
29.在函数中定义参数是函数的函数
30.Kotlin语言的简略写法学习
31.Kotlin语言的函数内联学习
32.Kotlin语言的函数引用学习
33.Kotlin语言的函数类型作为返回类型
34.Kotlin语言的闭包学习
35.Kotlin语言的lambda与匿名内部类
内置函数
37.Kotlin语言的可控性特点
38.Kotlin语言的安全调用操作符
39.在Kotlin中使用带let的安全调用
40.Kotlin语言中的非空断言操作符特点
41.Kotlin语法中对比使用if判断null值情况
42.在Kotlin去空合并操作符
43.在Kotlin语法中异常处理与自定义异常特点
44.Kotlin语言的先决条件函数
45.Kotlin语言的substring
46.Kotlin语言的split操作
47.Kotlin语言的replace操作
48.Kotlin语言的==与===比较操作
49.Kotlin语言的字符串遍历操作
50.Kotlin语言中数字类型的安全转换函数
51.Kotlin语言中Double转Int与类型格式化
52.Kotlin语言的apply内置函数
53.Kotlin语言的let内置函数
54.Kotlin语言的run内置函数
55.Kotlin语言的with内置函数
56.Kotlin语言的also内置函数
57.Kotlin语言的takeIf内置函数
58.Kotlin语言的takeUnless内置函数
集合框架
60.Kotlin语言的List创建与元素获取学习
61.Kotlin语言的可变List集合学习
62.Kotlin语言的mutator函数学习
63.Kotlin语言的List集合遍历学习
64.Kotlin语言的解构语法过滤元素学习
65.Kotlin语言的Set创建与元素获取
66.Kotlin语言的可变Set集合
67.Kotlin语言的集合转换与快捷函数学习
68.Kotlin中的数组类型
69.Kotlin语言的Map的创建
70.Kotlin语言的读取Map的值
71.Kotlin语言的遍历Map学习
72.Kotlin语言的可变Map集合学习
73.Kotlin语言的定义类与field关键字学习
74.Kotlin语言的计算属性与防范竞态条件
75.Kotlin语言的主构造函数学习
76.Kotlin语言的主构造函数里定义属性
77.Kotlin语言的次构造函数学习
78.Kotlin语言的默认参数学习
79.Kotlin语言的初始化块学习
80.Kotlin语言的初始化顺序学习
81.Kotlin语言的延迟初始化lateinit学习
82.Kotlin语言的惰性初始化by lazy学习
83.Kotlin语言的初始化陷阱一学习
84.Kotlin语言的初始化陷阱二学习
85Kotlin语言的.初始化陷阱三学习
对象类型
87.Kotlin语言的继承与重载的open关键字学习
88.Kotlin语言的类型转换学习
89.Kotlin语言的智能类型转换学习
90.Kotlin语言的Any超类学习
91.Kotlin语言的对象声明学习
92.Kotlin语言的对象表达式学习
93.Kotlin语言的伴生对象学习
94.Kotlin语言的嵌套类学习
95.Kotlin语言的数据类学习
96.Kotlin语言的copy函数学习
97.Kotlin语言的解构声明学习
98-Kotlin语言的运算符重载学习
99-Kotlin语言的枚举类学习
100-Kotlin语言的枚举类定义函数学习
101-Kotlin语言的代数数据类型
102-Kotlin语言的密封类学习
103-数据类使用条件&小节回顾
高级语言特性
104-Kotlin语言的接口定义
105-Kotlin语言的接口的默认实现
106-Kotlin语言的抽象类学习
107-Kotlin语言的定义泛型类
108-Kotlin语言的泛型函数学习
109-Kotlin语言的多泛型参数学习
110-Kotlin语言的泛型类型约束学习
111-Kotlin语言的vararg关键字与get函数
112-Kotlin语言的[ ]操作符学习
113-Kotlin语言的out-协变学习
114-Kotlin语言的in-逆变学习
115-Kotlin语言中使用in和out
116-Kotlin语言的reified关键字学习
117-Kotlin语言的定义扩展函数学习
118-Kotlin语言的超类上定义扩展函数
119-Kotlin语言的泛型扩展函数
120-Kotlin语言的标准函数与泛型扩展函数
121-Kotlin语言的扩展属性
122-Kotlin语言的可空类型扩展函数
123-Kotlin语言的infix关键字
124-Kotlin语言的定义扩展文件
125-Kotlin语言的重命名扩展学习
126-Kotlin语言的apply函数详解
127-Kotlin语言的DSL学习
128-Kotlin语言的函数式编程学习
129-Kotlin语言的函数类别
130-Kotlin语言的变换函数-map
131-Kotlin语言的变换函数-flatMap
132-Kotlin语言的过滤函数-filter
133-Kotlin语言的组合使用filter和map找素数
134-Kotlin语言的合并函数-zip
135-Kotlin语言的合并函数-folder
136-Kotlin语言中使用函数式编程
137-Kotlin语言的序列学习
138-Kotlin语言的使用序列查找素数学习
139-Kotlin语言的互操作性与可空性
140-Kotlin语言的类型映射
141-Kotlin语言的属性访问学习
142-注解@JvmName与Kotlin关系
143-注解@JvmField与Kotlin关系
144-注解@JvmOverloads与Kotlin关系
145-注解@JvmStatic与Kotlin关系
146-注解@Throws与Kotlin关系
147-Kotlin语言的函数类型操作
148-Android开发使用Kotlin注意事项点讲解
Kotlin高级进阶
玩转Kotlin的Lambda与高阶函数
1.Lambda深入运用篇
2.高阶函数与Lambda结合运用篇
3.高阶函数深入
玩转Kotlin的DSL与自定义DSL
1.DSL的真实案例
2.讲解DSL
3.自定义DSL
Kotlin语言高级语法
1.Kotlin泛型案例讲解
2.Kotlin反射案例讲解
3.Kotlin注解案例讲解
Kotlin协程实战篇
1.传统方式弊端展示
2.协程优点展示
3.协程挂起流程讲解
Kotlin协程应用篇
1.更多协程作用域学习
2.全局作用域
3.Main作用域
Kotlin协程原理
Kotlin协程原理篇-主线流程
1.源码分析
2.源码分析
3.源码分析
Kotlin协程原理篇-各个作用域
1.作用域源码分析
2.作用域源码分析
3.作用域源码分析
Kotlin协程原理篇-线程
1.线程切换源码分析
2.挂起源码分析
3.resume源码分析
Kotlin协程之Flow从应用到原理
1.Flow对比LiveData分析
2.Flow项目中应用篇实战
3.Flow源码设计的分析
协程flow+JetPack全家桶+mvvm模式
1.项目搭建流程
2.整合JetPack全家桶库
3.协程flow
实战:Kotlin电商客户端
Android高级UI与FrameWork源码
UI体系深度剖析与自定义实战
自定义流式布局(ViewGroup)项目实战
Android的UI基础
坐标系,角度(弧度),颜色
View与ViewGroup绘制原理解析
绘制流程
MeasureSpec
LayoutParams
事件分发机制
灵动的锦鲤自定义View项目实战
Canvas与Paint基础
Canvas绘制点,线,面与几何图形
Canvas画布与图层
Path,PathMeasure,Matrix 与贝塞尔曲线
今日头条文字渐变特效项目实战
文字绘制
视图动画与属性动画
自定义PhotoView事件分发项目实战
MotionEvent与多点触控
手势(GestureDetector ScaleGestureDetector)
RecyclerView实现吸顶效果项目实战
自定义ItemDecoration与LayoutManager
ViewHolder与回收复用机制
布局管理器LayoutManager
RecyclerView原理解析
自定义Banner高级项目实战
ViewPager
加载机制与优化
与Fragment的结合
ViewPager2原理解析
布局ViewGroup原理解析
ConstraintLayout
LinearLayout
RelativeLayout
FrameLayout
GridLayout
Material Design设计的App
Meterial Design常见控件的使用
Toolbar
FloatingActionButton
Snackbar
CoordinatorLayout
CoordinatorLayout原理解析
自定义Behavior
AppbarLayout
NavigationView,BottomNavigationView BottomSheet
DrawLayout
CardView
CollapsingToolbarLayout
NestScrollView原理解析
自定义TabLayout
WebView交互架构项目实战
使用与原理
JS与Java交互
多进程WebView使用实践
WebView与Native的通信框架手写实践
网易插件化换肤
LayoutInflater加载布局分析
Android资源的加载机制
Resource与AssetManager
Android架构组件Jetpack
Lifecycle实战与源码解析
Lifecycle原理分析
事件状态管理设计
Lifecycle进阶使用实战
LiveData实战与源码解析
Livedata使用与实现原理分析
LiveData粘性事件原理
实战:事件总线LivedataBus设计
DataBinding实战与源码解析
DataBinding应用场景实战
DataBinding实现原理解析
ViewModel实战与源码解析
ViewModel原理解析
实战:结合LiveData DataBinding的MVVM架构
ROOM 实战与源码解析
ROOM高级应用
LiveData与ROOM结合实现命令式布局实战
ROOM源码解析
Navigation 实战与源码解析
实战:多Fragment导航管理
Navigation原理解析
WorkManager 实战与源码解析
定时周期任务管理
多任务管理
并发有序地执行任务实战
WorkManager任务管理原理
Hilt 实战与源码解析
Dagger2使用与原理
Dagger2与Hilt关系
实战:Hilt实现框架隔离层设计
Hilt设计原理解析
Paging 实战与源码解析
滑动分页加载实战
Paging分页缓存策略
Paging源码解析
基于MVVM架构的JetPack音乐播放器项目实战
MVVM架构
liveDataBus
ViewModel
Navigation
Lifecycle
viewPager2
Room
rxjava+retrofit
Android 底层FrameWork内核解析
Android IPC Binder机制
Linux预备知识
进程隔离
进程空间划分-用户空间/内核空间
系统调用-用户态/内核态
Linux的IPC机制
共享内存
Socket/管道/共享内存/信号量/消息队列
Binder
传统的Linux中IPC通信原理
copy_from_user/copy_to_user
Binder IPC通信原理
Binder跨进程通信原理
动态内核加载模块
内存映射mmap原理解析
Binder IPC实现原理
Binder通信模型
Client/Server/ServiceManager/驱动
Binder Driver浅析
Binder线程池
启动ServerManager
获取ServerManager
注册服务(addService)
获取服务(getService)
Binder通信中的代理模式
Binder Java层实现
IBinder/IInterface/Binder/Stub
AIDL使用以及原理分析
腾讯高级工程师Binder面试
为什么 Android 要采用 Binder 作为 IPC 机制?
Binder到底是什么?
Binder机制是如何跨进程的?
一次Binder通信的基本流程是什么样?
为什么 Activity 间传递对象需要序列化?
四大组件底层的通信机制是怎样的?
AIDL 内部的实现原理是什么?
Handler消息机制
Linux的epoll机制
一个线程有几个 Handler?
一个线程有几个 Looper?如何保证?
子线程可以创建Handler吗?
多个 Handler 往 MessageQueue 中添加数据,内部是如何确保线程安全的?
looper.loop()为什么不会阻塞主线程
Message 的数据结构是什么样子
Handler内存泄漏的场景有哪些,如何避免?
IntentService源码解析
HandlerThread源码解析
腾讯高级工程师Handler面试总结
Dalvik VM进程系统
Zygote基础
分析Zygote的启动过程
启动SystemServer进程
启动各种系统服务
应用程序进程
创建应用程序
启动线程池
创建消息循环
腾讯高级工程师Dalvik面试总结
AMS深入浅出
AMS的启动过程
AMS重要的数据结构解析
ActivityRecord
TaskRecord
ActivityStack
Activity栈管理
Activity任务栈模型
Launch Mode
Intent的Flag与taskAffinity
Activity启动流程
Hook实现启动未注册Activity
Activity管理
activity运行机制
adj内存管理机制
activity内核管理方案详细讲解
实战:Hook AMS实现集中式登录
面试总结
深入理解WMS
Window的创建过程
Dialog与Toast源码解析
剖析Activity,View,Window之间的关系
从WMS的角度分析Activity启动流程
WMS
Window的添加过程
Window的删除过程
腾讯高级工程师 WMS面试总结
PackageManager Service
app 安装流程分析
App 解析流程
Manifest清单文件的价值
权限管理源码解析
腾讯高级工程师 PMS面试总结
Android组件内核
Activity与调用栈
四大启动模式与Intent Flag
APK启动流程与ActivityThread解析
Activity生命周期源码解析
实战Splash广告载入与延时跳转
Fragment的管理与内核
Fragment事务管理机制
Fragment转场动画
嵌套处理,ChildFragmentManager
Service 内核原理
start与bind区别与原理
自带工作线程的IntentService
前台服务与Notify
组件间通信方案
Activity和Fragment低耦通信设计
Android与Serivice通信
Intent数据传输与限制
ViewModel通信方案
事件总线EventBus源码解析
实战:自动感知生命周期事件总线LiveDataBus设计
数据持久化
Android文件系统
sdcard与内部存储
Android R分区存储
轻量级kv持久化
Shared Preference原理
微信MMKV原理与实现
MMAP内存映射
文件数据结构
增量更新与全量更新
多进程设计
嵌入式Sqlite数据库
SqliteOpenHelper
Sqlite升级与数据迁移方案
实战注解ORM数据库框架
实战项目:腾讯新闻客户端
腾讯性能优化观点与编程规范
大厂APP全方位性能优化实战
OOM问题原理解析
adj内存管理机制
JVM内存回收机制与GC算法解析
生命周期相关问题总结
Bitmap压缩 方案总结
ANR问题解析
AMS系统时间调节原理
程序等待原理分析
ANR问题解决方案
Crash监控方案
Java层监控方案
Nativie层监控方案
启动速度与执行效率优化项目实战
冷暖热启动耗时检测与分析
启动黑白屏解决
卡顿分析
StickMode严苛模式
Systrace与TraceView工具
Android Studio Profile
布局检测与优化
布局层级优化
过度渲染检测
Hierarchy Viewer与Layout Inspactor工具
内存优化
内存抖动和内存泄漏
内存大户,Bitmap内存优化
Profile内存监测工具
Mat大对象与泄漏检测
耗电优化
Doze&Standby
Battery Historian
JobScheduler、WorkManager
网络传输与数据存储优化
google序列化工具protobuf
7z极限压缩
使用webp图片
APK大小优化
APK瘦身
微信资源混淆原理
屏幕适配
屏幕适配方案总结
hook技术实现屏幕完全适配
APM性能监控
内存监控
JVMTI工作机制
类加载器如何加载so
MMAP完成高效日志记录
动态内存分配与GC监控
卡顿监控
Looper机制监控方案
Choreographer监控方案
Matrix无侵入埋点监控函数耗时实践
ANR监控
信号机制
Handler WatchDog
腾讯技术Leader项目管理优化
分布式版本控制系统Git
自动化构建系统Gradle
Groovy基础
Groovy开发环境搭建
Groovy变量与字符串
Groovy接口与闭包
常用数据结构
面向对象
Json与Xml解析
文件操作
Gradle与Android插件
Gradle是什么
Gradle生命周期探索
Project与Task
Transform API
Transform执行机制与配置
字节码增强技术
修改无源码第三方sdk代码(Bug)
自定义插件开发
build Script脚本
buildSrc目录
独立项目开发插件
上传本地仓库与jcenter仓库
Artifactory私服仓库搭建
插件实战
自动化加固插件
AOP编程字节码插桩
多渠道打包
发版自动钉钉
实战项目:全方位评测与解析腾讯新闻客户端性能
设计思想解读开源框架
架构师必备设计思想
程序设计原则
程序设计六大原则
单一职责原则
开闭原则
里氏替换原则
依赖倒置原则
接口隔离原则
迪米特法则
设计模式
结构型模式
桥接模式
WMS 源码解析
适配器模式
RecycleView&
Gson数据解析原理
装饰器模式
I/O文件操作
代理模式
Retrofit源码解析
Binder源码解析
外观(门面)模式
Glide/retrofit 源码解析
组合模式
View Tree 设计思想
WMS中 windowState封装思想
享元模式
内存池共享性能优化
Handler源码解析
创建型模式
建造者模式
Retrofit源码解析
单例模式
sdk封装原理
抽象工厂模式
网络module封装原理
工厂方法模式
Retrofit封装思想
原型模式
Intent传输封装
行为型模式
模板方法模式
Actvity的生命周期职责设计思想
策略模式
Rxjava封装Retrofit原理
图像处理算法分析
观察者模式
Jetpack Lifecycle生命周期管理
Rxjava原理设计思想
责任链模式
Rxjava封装思想
命令模式
安卓事件输入系统设计思想
访问者模式
APT设计思想
迭代器(游标)模式
ArrayList 设计原理
备忘录模式
Activity数据恢复设计思想
状态模式
手机Wifi状态管理设计思想
中介者(调停者)模式
keyguard锁屏设计思想
解释器模式
应用包解析PackageParser设计思想
实战设计模式解耦项目网络层框架
MVC、MVP、MVP与MVVM
模块化、组件化与插件化架构
网络访问框架解析与封装实战
网络通信必备基础
Restful URL
HTTP协议& TCP/IP协议
SSL握手与加密
DNS解析
Socket通信
SOCKS代理
HTTP普通代理与隧道代理
OkHttp源码解读
Socket连接池复用机制
HTTP协议重定向与缓存处理
高并发请求队列:任务分发
责任链模式拦截器设计
Retrofit源码解析
高性能网络模块架构设计
BAT网络面试模拟测试
图片加载框架架构原理解析
图片加载框架选型
Universal ImangeLoader
Glide
Picasso
Fresco
Glide原理分析
Fragment感知生命周期原理
自动图片大小计算
图片解码
优先级请求队列
ModelLoader与Registry机制
内存缓存原理
LRU内存缓存
引用计数与弱引用活跃缓存
Bitmap复用池
缓存大小配置
磁盘文件缓存
原始图像文件缓存
解码图像文件缓存
手写图片加载框架实战
Coil图片加载框架
Coil对比Glide分析
Coil项目中应用篇实战
Coil源码流程分析
MemCache
DiskCache
动态采样
Coroutine
App与SDK热修复设计实战
AOT/JIT、dexopt 与 dex2oat
CLASS_ISPREVERIFIED问题与解决
Android N混编对热修复的影响
即时生效与重启生效热修复原理
Gradle自动补丁包生成
热修复面试总结
手写热修复架构
插件化框架解读
Class文件加载Dex原理
Android资源加载与管理
四大组件的加载与管理
so库的加载原理
Android系统服务的运行原理
手写插件化框架
面试总结
组件化架构项目设计实战
组件化之集中式路由--阿里巴巴ARouter原理
APT技术自动生成代码与动态类加载
Java SPI机制实现组件服务调用
拦截器AOP编程(跳转前预处理--登录),路由参数传递与IOC注入
组件化架构项目实战
面试总结
RXJava响应式编程框架设计
链式调用
扩展的观察者模式
事件变换设计
Scheduler线程控制
腾讯T9+必备的NDK与音视频开发
NDK基础知识体系
C与C++
数据类型
内存结构与管理
预处理指令、Typedef别名
结构体与共用体
指针、智能指针、方法指针
线程
类
函数、虚函数、纯虚函数与析构函数
初始化列表
JNI开发
静态与动态注册
方法签名、与Java通信
本地引用与全局引用
Native开发工具
CPU架构与注意事项
gcc/g++/clang编译器
静态库与动态库
交叉编译移植
构建脚本与构建工具
Cmake
Makefile
AS构建NDK项目
Linux编程
Linux环境搭建,系统管理,权限系统和工具使用(vim等)
Shell脚本编程
APK增量更新实战
音视频领域揭秘
给Android人员的音视频发展分析
音视频行业分类
音视频简历注意事项
Android程序员在音视频领域如何选择与发展?
H.264规范解析
图像的物理现象
图像的表示RGB与YUV
H.264编码框架与原理
预测、变换、量化与熵编码
帧内预测与帧间预测
IPB帧区别与原理
PTS DST与视频GOP序列
编码规范Profile档次与Level级别解析
H.264码流分析
SPS、PPS与IDR(多帧预测)
视频编码层VCL与网络提取层NAL
Annexb格式解析
规范之外实际实现的EBSP—“防止竞争”策略解析
Android Camera/Camera2/CameraX演进
实战:libx264编码实践
H.265规范解析
H.264宏块到编码树单元(CTU)与编码树块(CTB)
图像分割模式:编码单元(CU),预测单元(PU)和变换单元(TU)
H.265编码框架
H.264与H.265编码比较
音频编解码解析
声音的物理性质
模拟信号与数字音频
采样与量化
Audacity波形图、频谱图与语谱图分析
音频数据采集与播放:AudioRecord与AudioTrack
OpenSL ES最佳实践
AAC编码规范
实战:微信语音Speex编码实践
FFmpeg
FFmpeg交叉编译移植Android平台
FFmpeg与libx264的集成
FFmpeg常见结构体分析
FFPlay简析
实战:基于FFmpeg的Android视频压缩
播放器架构设计
解码与播放模块
AVSync音视频同步模块设计与实现
OpenMax(OMX)框架
AwesomePlayer到OMX服务
OMXCodec与OMX实践回调流程
MediaCodec编解码器
MediaMuxer复用
MediaExtractor解复用
腾讯薪选官方推荐就业音视频面试总结
OCR图像识别
OpenCV 图像预处理
灰度化、二值化
模糊、高斯模糊
图像形态学操作:腐蚀、膨胀与开闭操作
轮廓查找
人脸检测与跟踪
haar模型
lbp特征提取
不止是人脸:物体检测模型训练
身份证识别
全格式播放器
播放器架构设计
解码模块的实现
音视频播放模块
音视频同步模块AVSync的设计
ijkPlayer解析
抖音短视频
音频效果器
均衡效果器
压缩效果器
混响效果器
SOX效果器的实现
视频效果器
亮度、对比度、饱和度调节
高斯模糊算法
FFmpeg内部的视频滤镜使用
OpenGL ES
GLSurfaceView 与 EGL
OpenGL ES可编程管线
OpenGL Sharder着色器
OpenGL坐标系与Android View坐标系
OES扩展纹理处理摄像头数据
图像的持续处理—FBO帧缓存对象
水印、自定义文字
视觉特效处理:美颜大眼
视觉特效处理:多分屏
视觉特效处理:灵魂出窍
......
效果器责任链架构设计
斗鱼直播
直播场景分析与环境准备
交互式直播与非交互式直播
RTMP/HLS/HDL/RTP协议
CDN厂商服务
直播系统架构模块分析
流媒体服务器搭建
推流器的构建
推流过程分析
网络超时处理
网络抖动、弱网环境丢帧策略
自适应码率设计与MediaCodec动态码率配置
斗鱼手游录屏直播推流
MediaProjection获取屏幕图像
MediaCodec与MediaProjection的结合
librtmp推流斗鱼直播间
斗鱼摄像头直播推流
libx264的码率控制
微信音视频通话
WebRTC架构与运行机制
NAT打洞原理与类型检测
STUN与TURN协议
ICE框架
手把手搭建通话服务器
房间服务器搭建
信令服务器搭建
打洞服务器搭建
P2P语音视频通话实战
Android端WebRtc底层中间件设计与封装
WebSocket与SpringBoot实现信令服务器
SignalingServer信令服务器与ROOM管理
智能家居串口编程实战
波特率、起始位、数据位、奇偶校验位与停止位
串口指令如何被执行
寻找串口过程演绎
串口编程实战
Flutter
Flutter
Flutter语言基础与原理
你好,Flutter
原生开发与跨平台技术
初识Flutter
Flutter开发环境搭建
Flutter 编码语言Dart详解系列
一切皆对象,Dart面向对象的原理解析
Dart中变量,函数,操作符,异常等语法与java原理对比
类的机制
初始化列表规则
命名构造方法
常量构造方式
Mixin
Flutter框架原理与使用技巧
常用widget讲解
常用布局分析
如何自定义View
动画/手势交互
Flutter架构与原生代码的交互
Flutter项目实战
商城登录功能
商城商品展示功能
商品网络请求
商城产品管理
用户信息管理
购物车展示功能
购买页面功能
Flutter启动分析
Dart虚拟机
Dart虚拟机概述
Dart虚拟机创建
Isolate 创建
DartIsolate 运行
Flutter启动引擎
FlutterApplication启动流程
FlutterActivity启动流程
Flutter引擎启动流程
Dart代码加载
Flutter应用启动分析
runApp启动流程
实例初始化
Widget 绑定
视图树挂载
调度预热帧
Flutter Framework架构浅析
TaskRunner工作原理
Widget架构
StatelessWidget
StatefulWidget
Flutter动画原理
补间动画原理
物理动画原理
动画流程
Flutter渲染机制
UI线程渲染
GPU线程渲染
Flutter通信原理
Flutter消息机制
MessageLoop启动
TaskRunner
Flutter的Platform Channel原理
MethodChannel
引擎层原理
宿主层原理
Flutter异步Future机制
Future创建过程
任务发送
任务接收与管理
Flutter进阶
Flutter混合栈开发
组件化Flutter工程
Flutter 2.0新特性讲解
Flutter性能监控
微信小程序
小程序介绍
背景与趋势
小程序技术方案
公众平台注册及配置
开发工具的使用
MINA框架架构剖析
应用程序配置详解
逻辑与界面分离架构
单向数据流
UI开发
复杂的页面布局
文字图片等内容的呈现
用户交互表单开发
对话框等交互元素开发
下拉刷新和上拉加载
图形与动画操作
页面之间的跳转过渡
用户界面事件处理
API操作
背景与趋势
多媒体操作
网络通信
本地存储及文件操作
地理位置信息
设备信息获取
系统功能(扫码、拨打电话等)
界面交互操作
微信对接
微信登陆
用户信息获取
微信支付
微信客服消息
微信开放数据
小程序更新
第三方平台接入
小程序项目实战
任务清单项目
基础项目
演练小程序框架的基本使用
基本技术:应用配置、界面数据绑定、界面布局、采集用户输入、用户操作事件处理、日志记录
电影榜单项目
HTTPS
第三方接口调用
列表数据绑定及显示
页面跳转传值
上拉加载更多
下拉刷新
分享到微信群或者朋友圈等等
本地生活项目
网络访问
生命周期
地理围栏
Promise的运用
weui样式库
Node.js接口部署
HTTPS证书操作等等
购物商场项目
首页推荐频道展示
分类筛选
搜索商品
分页加载数据及长列表展示优化
购物车
下单
支付
用户个人中心
Postman接口测试工具
华为鸿蒙系统
HarmonyOS
HarmonyOS介绍与系统架构
开发环境搭建:DevEco Studio与DevEco Device Tool
应用配置与资源文件
XML布局与加载
创建第二个页面与跳转
HarmonyOS APP开发
Ability
Page Ability(Activity)
Page 与 AbilitySlice(Activity与Fragment)
Page与AbilitySlice生命周期
AbilitySlice 路由与导航(切换Fragment)
使用Intent完成页面跳转
使用IAbilityContinuation实现Page跨设备迁移
Service Ability(Service)
服务的创建与生命周期
前台服务与后台服务
启动本地服务与启动远程设备服务
Service通信
Data Ability(Content Provider)
鸿蒙App的数据持久化
使用UserDataAbility创建数据提供方
鸿蒙数据管理
事务、数据库加密
关系型数据库
对象映射关系型数据库
轻量级偏好数据库
分布式数据服务
分布式文件服务
融合搜索与数据存储管理
使用DataAbilityHelper与数据提供方通信
Ability Form(AppWidget)
UI
组件与布局
UI组件类型
使用代码创建布局
使用XML创建布局
常用组件与布局
Text、Button与Image
线性布局DirectionalLayout
相对布局DependentLayout
动画
数值动画、属性动画与动画集合
多模输入
CES公共事件服务
系统公共事件与自定义公共事件(广播)
带权、有序与粘性公共事件
通知栏功能NotificationHelper
通知点击效果IntentAgent
剪切板
跨应用数据传递
线程与进程
TaskDispatcher任务分发器
全局并发任务分发器GlobalTaskDispatcher
并发任务分发器ParallelTaskDispatcher
串行任务分发器SerialTaskDispatcher
专有任务分发器SpecTaskDispatcher
UITaskDispatcher与MainTaskDispatcher
线程通信
EventHandler 机制
HormonyOS多媒体开发
音视频开发
音视频编解码
图像编解码与位图操作
相机CameraKit与声音AudioCapturer
视频编解码、播放、录制与提取
音频播放采集、音量管理与短音(音效)播放
网络与近场通信
NFC控制
传统蓝牙与BLE低能耗
无线局域网WLAN与P2P点对点通信
网络管理
Socket通信
流量统计与Http缓存
电话服务
音频呼叫与视频呼叫
短信服务
设备管理
传感器
运动类传感器:计步器传感器、陀螺仪传感器等
环境类传感器:环境温度传感器、湿度传感器等
方向类传感器:屏幕旋转传感器、方向传感器等
光线类传感器:环境光传感器、RGB颜色传感器等
健康类与其他:心率传感器按压检测传感器等
LED灯与振动器
位置服务
定位
地理编码转化
项目实战
HormonyOS播放器实战
HormonyOS新闻客户端实战
收藏
0 条评论
下一页