2023年腾讯T10级V2 Android高级工程师
2023-09-04 16:52:01 0 举报
AI智能生成
作为腾讯T10级V2 Android高级工程师,您将负责设计和开发Android应用程序,以满足用户的需求。您需要具备深厚的Java编程技能,熟悉Android SDK和NDK,并能够使用各种工具和技术来优化应用程序的性能和用户体验。此外,您还需要具备良好的团队合作精神和沟通能力,以便与其他团队成员协作完成项目。在腾讯,您将有机会参与最前沿的技术研发,为亿万用户提供优质的产品和服务。我们期待您的加入!
作者其他创作
大纲/内容
安卓逆向安全开发
Smali指令详解
什么是逆向
模拟器环境搭建
apk文件结构和打包
双开
汉化
基础修改
初识Smali
Dalvik 字节码类型描述符
Smali指令
数据转换
数据运算
方法调用
字段操作
比较指令
跳转指令
数据操作指令
数组操作指令
数据定义指令
Smali格式结构
文件格式
定位分析
关键信息查找法
代码动态查找法
加壳和脱壳入门
加壳和运行时
什么是壳
为什么要脱壳
复习一下ClassLoader动态加载
加壳APP的运行流程
加壳厂商的特征识别
壳技术分代识别
360壳
腾讯壳
其他。。
脱壳大法
Dalvik脱壳
ART脱壳
FART自动化脱壳
NDK与逆向
复习下NDK
Dalvik下动态注册原理
ART下动态注册原理
Xposed框架-逆向开发的黄油刀
Xposed框架的安装
Xposed插件开发
Hook构造函数
修改属性
Hook一般函数
主动调用函数
加壳APP处理
so中函数处理
指纹检测与简单定制
Frida-逆向开发的屠龙刀
Frida环境搭建
Frida逆向三板斧
Frida逆向基础
构造函数
数组
对象
Map
类参数
基础综合案例
RPC远程调用的逆向
复杂案例分析
hook时机
算法相关
制作dex
Frida hook大全
框架基础层hook
组件和事件hook
网络框架的hook
ndk的hook
hook native
JNI框架层的hook
libc框架层的hook
linker框架层的hook
反调试
抓包!抓包!
环境搭建
网络通讯协议分析
Java层Socket抓包与源码分析
Java层SSL通讯抓包
JNI层Socket抓包
JNI层SSL通讯抓包
抓包大全
HTTPS中间人抓包
HTTPS证书校验
客户端证书
证书的提取和导入
证书绑定
混淆后的解绑
网卡和路由器抓包
协议枚举、爆破及算法模拟
加壳和脱壳高级
环境搭建
Frida内存dump脱壳
加固技术浅析
常见加固技术解析
壳的动态加载及修复
壳的种类特征和判定
脱壳机
编译Android源码制作脱壳机
沙箱脱壳机的核心原理
制作简易沙箱脱壳机
高级壳脱壳技巧
加密与解密算法与逆向
密码学初步
序列密码RC4
分组密码
DES
AES
分组密码的工作模式
分组密码的逆向实践
非对称密码-RSA
Hash算法
高级车载开发工程师
USB 4.0协议
比亚迪通信协议
车载协议如何设计
分隔符+报文+长度+校验
并发模式下的 命令写入
Android配件协议AOA
USB 5.0协议结构及通信形式
USB 5.0协议四种通信方式
控制传输
批量传输
中断传输
等时传输
USB 5.0 libusb交叉编译与使用
车载蓝牙通信5.0
低功耗蓝牙5.0与传统蓝牙
蓝牙广播,扫描与连接
广播格式
扫描
车机蓝牙5.0
自动回连
蓝牙服务与安全问题
传统蓝牙配对方式
安全连接配对方式
车机蓝牙加密
MTU和连接参数
MTU模式
MTU参数调优
MTU实战
蓝牙调试技巧
HCI协议原理
L2CAP协议原理
ATT协议原理
GATT协议原理
AndroidBluetoothManager源码分析
CAN 总线协议
车载CAN协议原理讲解
车载通信为什么不用网线,用CAN电平
车载编码与传输协议设计原理
车载地址总线详解,解密车载岗位为啥必问CAN
CAN协议原理与数据读取
MCU如何操作底层设备
CAN汽车状态检测,OBD实战读取
车载通信协议
车载协议如何设计
第一版本固定格式协议第二版验证协议
第三版本开放协议
车载编码数据流分析 ,车载多媒体如何开发
哥伦布如何实现协议可靠,协议变化时,无需更改协议约定
CarFramework框架
CarFramework与Android Framework
zygote 启动 SystemServer
SystemServer如何启动CarServiceHelperService
Android 系统与CarFramework 流程总结
CarFramework框架解析
CarService启动流程
Hal Services组件
VehicleHAL组件
CarHevService服务
CarAudioService服务
CarFramework定制
AOSP源码编译
AOSP源码调试
AOSP源码烧机
AOSP 集成定制系统应用
SurfaceFlinger 智能座舱专题
SurfaceFlinger详解
Surface的渲染流程
Surface与SurfaceFlinge
SurfaceFlinger启动的整体概括
SurfaceFlinger中init方法做的事情
子主题 5
子主题 6
智能座舱之ANtiveWindow 机制
Native消息机制实现分屏
ANtiveWindow 双缓冲机制
SurfaceFlinger中BBQ3
利用Surface实现手写双屏显示
智能座舱之多屏显示原理
Vysnc信号执行机制
Vsync信号与SurfaceFlinger刷新机制
双屏异显的概念介绍
双屏异显Presentation实现异显
双屏异显ActivityOption实现异显
双屏异显中wms对多屏的管理
高清传输倒车影像
高清传输倒车影像如何启动
Init进程配置倒车影像程序入口
倒车影像系统保活
倒车影像实时拉起
高清传输倒车影像
通过Surfaceflinger拿到渲染Client
Opengl与Surface渲染
倒车摄像头读取YUV显示到Opengl
Opengl EGLSwap 倒车影像持久化保存
CarLuncher
CarLuncher启动原理
比亚迪车载DiLink系统启动分析
蔚来车载 启动流程分析
比亚迪Launcher实战
launcer桌面切换
Launcher图标拖拽
Launcher workspace滑动
Launcher主题定制
系统应用定制
定制Android包管理机制
定制PMS AMS 服务
定制 不死级别的守护进程
SystemUI
车机System UI启动流程
车机Notification创建
LockScreen
锁屏Service
锁屏源码分析
自定义锁屏机制
SystemUI的车机控制
音量控制
RingtonePlayer
电源管理
任务管理
通知栏
服务定制
车载SOA架构原理
SOA架构通信设计之车载通信
SOA车载跨系统通信
SOA方案一 大众FDBus通信架构详解
SOA方案二 NameSever 实现分布式通信
SOA方案三 手写实现夸设备间的IPC通信方案
Automotive中的SOA架构通信
SEAndroid安全上下文
SEAnroid策略配置
SOA架构跨系统通信
车载系统开发
音视频高级工程师
H264编码基础
H264之帧编码
H264信源编码器流程详解
封装格式MP4 rmvb flv与H264详解
I帧 P帧 B帧编码流程
宏快 运动矢量 编码详解
H264之帧码流
H264码流之sps与pps搜寻与匹配
SODB,RBSP,EBSP 与纠错单元
视频流H264的组装原理切片NAL单元
视频流H264码流分析
H264码流详解
H264高阶面试
切片与宏快,运动矢量
H264编码进阶
码流结构
H.264的序列参数集(sps)
H.264的图像参数集(pps)
H264中Slice层解析
编码结构
宏块Macroblock级解析
自适应的变长编码CAVLC
变换和量化编码
帧内预测编码
帧间预测编码
H264面试题
直播与连麦直播实现原理
直播I帧间隔设值机制
视频倒放实现机制
H264与H265的编码差异
谈谈微信如何对视频进行压缩
sps和pps在码流中的作用
手写H264编码器
哥伦布编码(0阶与n阶)
H264官方文档解读
u()与ue()实现
手写解析sps与pps,I帧
H265编码原理
PU CU TU详解
Mediacodec实现解码H265码流
MediaCodec解码H265原理
CTU,PU TU编码结构
H265与H264全方位对比
H265编码应用
从零手写4K,8K播放器
DSP芯片解码流程
MediaPlayer与DSP芯片交互机制
手写高清H265码流播放器
手写低延时H265码流投屏
投屏架构
MediaProjection与MeidiaCodec交互机制
H265码流交换
I帧之前配置VPS SPS PPS
从零实现手写音视频通话(H265)
sps 与pps 交换 I P B交换机制
摄像头编码出H266码流
精讲Webrtc核心p2p底层原理
从零实现手写多对多音视频会议(H265)
Socket通信实现N对N连接
多对多会议聊天中底层H265码流分发机制
手写H265版视频会议
MediaCodec硬解码(联发科与高通)
高通芯片与联发科芯片性能对比
软解与硬解自动切换
不同芯片硬解流程汇总
Media内核源码
Media FrameWork框架分析
MediaCodec源码机制
应用层与Media层进程通信流程
Media层与驱动层通信流程
IOMX调用端
硬解码器创建机制
OMXCodec源码分析
NuPlayer
Decoder
Render
OMX服务端端
Codec Driver(H264,H265,Vp8)
OMX Plugin插件
OMX Component组件
实战1-视频剪辑之剪映
音视频切割
视频分割与输出
音频分割与输出
音视频合成
多格式下的音频合成
音谱显示(读取音高,与响度)
视频替换背景音乐
转场特效
Opengl中swapBuffer交换机制
视频与图片编码
opengl实现视频最后帧动画效果
图片序列转视频
图片序列转视频
图片动画
一键剪同款
卡点原理
声音识别原理
动画特效实现
实战应用
手写实现音视频剪辑APP剪映实战
实战2-哔哩哔哩直播
Camera2与CameraX
Camera2与yuv通道如何合成nv21
Camera2硬编实现直播推流
Camera2与CameraX原理详解
Rtmp Rtsp Rtp协议
RTMP RTSP RTCP RTP协议详解与应用场景
native实现rtmp推流
视频帧封装拼接Packet包
音频帧封装拼接Packet包
手写哔哩哔哩硬编码录屏推流(硬编)
rtmp协议与rtsp协议讲解
利用硬编码对原始帧进行h264编码
直播关键帧触发机制,增加秒开率
从零实现将录屏画面推流到B站
手写哔哩哔哩硬编码摄像头推流(软编)
用X264实现视频画面封装成Packet包
直播服务器搭建成功
rtmp推流流程与x_param_t参数详解
将x264编码出的码流输出至文件中
实战3-抖音特效
特效之Opengl基础
Opengl基础01
顶点程序加载过程
片元程序渲染过程
GPU与CPU调用机制
Opengl基础02-(用Opengl实现摄像头灰色滤镜)
CameraX采样数据输出GPU
OpenGl对摄像头数据的处理流程
手写BBC阴间滤镜
Opengl基础03 opengl抖音录制滤镜视频
Opengl程序执行过程(形状,栅格化,上色,渲染)
FloatBuffer传值流程 与FBO原理
摄像头录制数据直接渲染GPU 缓存
手写摄像头Opengl渲染与录制
Opengl基础04-世界坐标系与纹理坐标系
纹理坐标系与Opengl世界坐标系深度思考
顶点坐标顺序与三角形渲染
Opengl采样点与待绘制点
抖音视频滤镜特效01 - 灵魂出窍与手写分屏技术
Opengl采样点与待绘制点
灵魂出窍矩阵计算
灵魂动效实现
分屏坐标点计算
抖音视频滤镜特效02 -美颜滤镜
通道磨皮与高斯模糊
高斯模糊,抛物线增亮,高反差,线性融合
手写抖音美颜滤镜
抖音视频滤镜特效03-滤镜之大眼效果
抖音人脸定位与关键点定位
人脸定位FaceTracke类的封装
博士论文解决大眼效果采集算法
实战3-从零实现IJKPlayer
音视频播放面试
有编译过IjkPlayer吗 (增加https,rsp支持)
音视频能做到绝对同步吗?
音频超前与视频超前在同步中如何解决
音频播放解码与视频播放解码(av_package与av_frame解码流程)
为什么会产生音视频不同步
视频渲染
Surface的渲染与宽高自适应
像素绘制原理与对齐机制
视频横竖屏切换
音频播放
声音播放原理(声道,采样频率,采样位数)
OpenSL ES底层播放音频(音频引擎,混音器,回调播放)
波形整理与杂音消除
SoundTouch变速详解
手写实现变速不变调,变掉不变速,变速又变调效果
QQ影音播放架构
生产者模型实现二级缓冲
视频关键帧提前缓冲
多级缓存实现seek优化
添加加载、暂停、播放状态和相应回调功能
实现变速变调功能
从零实现商业级视频播放架构
实战4-微信视频通话
WebRtc服务端环境搭建与Webrtc编译
p2p网络原理
Net地址转化与基础
路由表与路由基础
点对点穿透,算法实现最短网络路径
1V1音视频通话
ICE交换
SDP交换
建立穿透
N对N视频群聊
PeerConnection源码
crateOffer与createAnswer
手写实现微信视频群聊
应用实战
手写实现完整高性能的音视频通话应用
高级工程师入门技能
Android内核原理
内核泛型、注解原理
内核核心-注解原理
自定义注解
自定义注解与元注解
注解参数与默认值
注解的使用
APT,编译时注解处理器
插桩,编译后处理筛选
反射,运行时动态获取注解信息
APT实现原理
策略模式核心思想分析
SPI机制实现原理
APT注解处理器工作原理
javac源码分析
内核核心-泛型原理
策略模式核心思想分析
泛型擦除机制,泛型桥
PCES机制:泛型上下边界
Retrofit中的注解原理项目实战
自定义注解实现 ButterKnife项目架构实战
内核编译技术原理
动态编程核心架构:动态代理
动态代理实现原理解析
动态代理在虚拟机中运行时动态拼接Class字节码分析
ProxyGenerator生成字节码流程
动态代理项目应用
手写Xutil实现IOC反向注入
动态编程核心:反射
反射与与Arm指令
深入虚拟机剖析Method反射源码
invoke方法执行原理
反射类方法、类变量与类构造方法的生产应用
反射实战
通过反射HOOK系统级API
动态编程进阶:编译时处理
OOP面向切面编程解析与AspectJ
字节码手术刀JavaSSit实战
字节码读取,类冻结,字节码修改
ClassPool字节码原理
Apk编译流程详解
字节码插桩技术(ASM)实战
ASM语法与class字节码语法
Gradle开发获取待插桩Class
TransForm在字节码插桩技术的使用
Art内核指令
Art指令集解读
Hotspot、Dalvik、ART关系与对比
JVM的跨语言与字节码
class字节码解读全向解读
栈区存储结构与运行原理
栈帧内部结构解析
局部变量表
操作数栈
动态链接
方法返回地址
异常表
Jclasslib与HSDB工具应用分析
深入Android内存管理
Hotsport与 ART的全方面对比
Android虚拟机与JVM底层区别
虚拟机底层Odex本地指令缓存机制
Dalvik虚拟机与ART虚拟机
ART运行时数据区对比
内存抖动与内存泄漏
实际案例,内存抖动与内存泄漏解决思路
类加载与动态字节替换方案
解释执行&JIT&AOT
Class文件结构与Dex文件结构解析
“类”的生命周期
DexClassLoader源码分析
热修复原理
类加载器的应用实战
Tinker热修复框架原理分析
Tinker实现原理之补丁全量合成流程分析
手写实现Tinker热修复框架
内核垃圾回收
虚拟内存与物理内存调度的机制
引用计数算法的缺陷与GCRoot算法的应对
清除、复制、标记整理与分代回收算法
分区、增量算法对于内存管理的优化
常用7中GC垃圾收集器
内存溢出与内存泄漏分析
使用MAT及ProFile对内存快照进行解
Android虚拟机类和对象的结构
内存结构对象头全面解构
klass内存分布
klass方法表分布
DexClassLoader源码分析
markwork各项数据分析
class分配内存
Object堆内管理策略
对象分配过程解析
对象创建过程解析
对象内存布局解析
MinorGc/MajorGc/FullGc对比与GC日志分析
透过逃逸分析完成代码编写优化
并发内核内存模型
JMM并发内存模型
多核CPU缓存架构
JAVA多线程内存模型解析
高并发体系下面临的三大问题
可见性
有序性
原子性
volatile关键字分析
volatile可以用来解决可见性和有序性问题
Lock指令的作用
什么情况下需要用到volatile
内存屏障解析
指令重排序
站在巨人肩上走入无锁并发策略-CAS
CAS核心概述与CAS效率分析
为什么无锁状态下的运行效率会高?
UnSafe类详解
实现i++原子性原理详解
CAS原子性三部曲
CAS造成ABA问题 以及解决办法
Atomic Variables与LongAdder
LongAdder伪共享原理与缓存行
千万项目并发方案之AQS
从自定义锁看AQS本质
ReentrantLock原理分析
ReentrantLock加锁流程
条件变量实现原理
同步方案对比
wait/notify
await/signal
park/unpark
ReentrantReadWriteLock读写锁
CyclicBarrier和CountDownLatch
高并发项目实战
手写公平锁机制下的ReentrantLock
synchronize内核机制
CPU物理内核架构
线程的上下文切换
临界区与竞态条件
Mark中的数据对于并发的支持
Monitor对象与synchronized
synchronized锁升级与降级
偏向锁、轻量级、重量级的本质意义
深入辨析synchronize关键字
内核之深入并发原理
线程池底层实现分析
异步模式之工作线程
线程数量与核心数对于池的影响
线程池排队机制
阻塞队列
ThreadPoolExecutor与自定义的区别
手写优先级线程池实战
实现优先级
实现线程防呆
实现常驻线程
智能启动线程框架实战
腾讯T10级offer的并发原理面试分享
ReentrantLock 重入锁,公平锁
并发面试连环炮
Volatile和Synchronized辨析
腾讯并发面试题与踩坑指南
网络与IO深入辨析
网络原理与协议族
从无规则到有规则的网络的演进
OSI七层模型与TCP/IP四层模型的正确理解
网卡与内核的协作,如何做到收发数据
MAC地址、IP地址、端口在网络访问中的协作
TCP与HTTP协议详解
.TCP协议特性与业务方案实现目的
TCP协议报文详解
子网地址寻址过程
TCP三次握手与四次挥手下的业务思考
HTTP协议报文的解释与定义
一次HTTP协议的业务过程分析
.HTTP业务解读与连接复用意义
网络抓包与HTTPS加解密过程探索
wireshark抓包应用及网络嗅探
网络抓包与HTTPS加解密过程探索
HTTP劫持问题与HTTPS的解决之道
HTTPS协议的工作原理
socket详解与IO模型
socket、fd和打开文件之间的关系
Socket常用函数接口及其原理
socket网络数据处理的函数调用过程中涉及到的流程与特性
select\epoll的策略应用差异与内核实现差异
JDK的SOCKET实现与OS内核的关系
NIO与内核机制
IO的基本“常识”
内核空间IO体系解析
内核空间数据读写的方案
内核(linux)的IO栈
POSIX API
程序缓冲区与内核缓冲区
从IO到NIO的演变
IO模型概念
传统阻塞IO模型
非阻塞IO模型
IO复用模型
信号驱动IO模型
异步IO模型
OKIO对于JAVAIO的优化
深入剖析BIO|NIO
JDK层面BIO的具体实现原理
NIO三大核心原理及区别于BIO的特性
linux下网络访问数据收发过程解析
NIO核心一:缓冲区(Buffer)
NIO核心二:通道(Channel)
NIO核心三:选择器(Selector)
NIO网络编程应用实例-群聊系统
从IO底层原理看序列化问题
API提供的序列化方案
数据结构、对象与二进制串
Java的序列化步骤与数据结构分析
Android人员如何去选择序列化方案
Parcelable与Serializable的性能比较
大厂面试解读
C/C++
C与JAVA的差异化对比与内存分配
数据存储原理与内存管理;
C&JAVA内存管理模型对比
C语言内存分配原理,Java虚拟机的内存区别;
指针的基础概念及指针对于C语言的意义;
指针详解
指针的基本应用与存在意义;
指针与动态内存申请的意义;
数组与数组内存详解;
数组指针与指针数组详解
函数指针与指针函数
函数执行过程与内存变化
函数指针与指针函数详解
编译过程与链接过程
C语言从编译到执行流程
C语言编译过程与链接过程详解
宏定义与文件头的应用
动态链接与SO库的使用
结构体、复杂函数、IO
如何正确的阅读复杂函数;
结构体意义及结构体对其;
linux下的IO的访问体系详解;
文件句柄体系解读
C++与C语言的设计差异
类机制的引入目的与结构体差异详解
Class与Struct内存结构分析
构造函数与析构函数详解
C++编译器构造析构方案 PK 对象显示初始化方案
函数构造、析构、内联
友元函数、运算符重载、模板
内存管理与容器(智能指针)
结合JAVA内存管理体系引出C++中内存管理的思考;
堆区管理问题与智能指针出现的目的;
智能指针分类详解;
智能指针的运用详解。
linux内核线程管理
从内核角度看进程与线程的实现
C++ 对于线程的控制实现
C++线程安全处理策略
线程同步与条件变量
JNI编程
JNI编程基础从入门到掌握
静态与动态注册
C++推进、文件流操作、线程
方法签名及JAVA与Native互相调用
本地引用、弱引用、全局引用
JNI多线程编程
交叉编译
gcc 交叉编译指令参数详解
Makefile语法
Cmake语法
手动交叉编译Android So库
高级Framework与Android内核
Framework通信(Android12 )
进程间通信(Binder IPC机制)
Linux内存Binder基础
虚拟内存/物理内存
内核空间/虚拟空间
Linux中MMU内存管理
Page页与数据交换原理
copy_from_user/copy_to_user
Binder IPC通信原理
Stub与Proxy调用机制
BpBinder与PPBinder调用过程
服务注册(servicemanager进程启动)
服务发现(getService)
服务调度(消息分发)
深入Binder驱动
binder_node进程信息
binder_proc进程链表
BC_TRANSACTION与BC_REPLY
Binder线程池
Binder面试总结——阿里篇
Android为什么不用linux已有的IPC进程通信
Binder核心函数mmap源码分析
mmap内存映射详解
MVVM设计模式看mmap函数读写机制
Binder机制是如何跨进程的
一次拷贝是发生在客户端还是服务端
Activity传递数据最大为什么是1M-8k
为什么activity间传递对象需要序列化
项目应用
手写实现Binder进程通信
进程内通信(Handler消息机制)
Loop消息泵机制
Linux pipe/epoll机制
pipe管道与CPU休眠状态
事务回调
Message解析
Message的数据结构
Message的消息队列管理机制
Handler面试分享——鹅厂篇
多个handler往MessageQueue中添
加数据,内部是如何确保线程安全的?
looper.loop() 为什么不会阻塞主线程
intentservice源码解析
HandlerThread源码解析
实战巩固
手写实现Handler消息机制
实战企业架构通信
Livedata事件机制
Livedata粘性事件Framework源码分析
Jetpack中的状态机是如何管理生命周期
hook实现Livedata非粘性功能
Livedata递归调用源码是如何做容错的
企业级LivedataBus封装实现
Framework底层服务(Android12 )
AMS原理
SystemServer加载AMS
AMS数据结构
ActivtiyRecord
Activtiy栈管理
手机开机启动的AMS流程
App启动中的AMS流程
Activtiy管理
AMS面试集合
AMS原理实战
实战: Hook AMS中的startActivity方法实现集中式登录
PMS原理
PackageInstaller安装器流程分析
InstallStart 显示安装界面
PackageInstallerActivity
startInstall流程分析
厂商安装器安装时如何报风险
PMS源码解读
AndroidManifest.xml在解析的作用
提前缓存内存存档
四大组件的预加载
AMS与PMS通信解析
T10级面试PMS总结
WMS机制
WMS内核
WindowManager管理机制
WindowSession桥接模式对接方案
WindowToken应用方案
WindowState与WindowHashMap与窗体绘制数据管理
relayoutWindow数据记录与重新测量
Surface.copyFrom底层核心解析
Window的创建过程
企业级Toast与Window架构体系
T10级岗位 WMS面试总结
Framework系统资源
ServiceManager原理
init.rc文件启动关键服务
service_manager进程入口
ServiceManager消息轮训
ServiceManager服务存储之svclist 链表
ServiceManager面试总结
深入Contxt上下文
Context与ApplicationContext
Context族谱分析
ContextImp与ActivityThread
getActivity()与getContext()内存区别
带你认识不一样的上下文Context
深入Resource资源加载
resources.arsc文件
Chunk块
资源索引表
values资源排列方式
ResourcesManager创建Resource
LoadedApk与Resource关系
Framework事件机制(Android12 )
事件分发机制
android事件处理的三个流程
硬件数据采集
数据分发中转
组件数据分发
事件信号从内核到IMS过程
EventHub详解
InputReader详解
InputDispatcher详解
IMS如何推送数据给ViewRootImp转入上层
InputChannel详解
ViewRootImpl与WMS在事件处理过程中所扮演的角色
Android处理Down事件的责任链模式
dispatchTouchEvent事件分发流程
onInterceptTouchEvent拦截流程
onTouchEvent消费流程
U形与L型链解密
Android处理Move事件
TouchTarget的单向链表形成
链表遍历与快速定位消费的空间
手写模拟Android事件分发架构
事件冲突解决万能公式
产生冲突事件分类
冲突事件边界划分
事件冲突优先级
事件冲突模拟实战
竖向RecyclerView与Item(ScorllView)冲突解决
ViewPager2与RecyclerView列表冲突解决
跨父控件与子控件联动
实战探探高级组合控件的事件冲突方案
Framework UI机制(Android12 )
UI绘制原理
setContentView加载数据的核心概念
ViewRootImpl的绘制管理
Choreographer编舞者
VSYNC信号的本质意义
Surfaceflinger对信号的返回本质
Choreographer如何做到帧率控制与绘制同步
测量机制(onMeasure)
摆放机制(onLayout)
T10级面试UI绘制总结
T10面试:为什么主线程不能更新UI
T10面试:如何从widthMeasureSpec得到宽 和模式
T10面试:在wrap_content模式的容器,至少结果几次测量才能确定大小
T10面试:View如何被添加到屏幕窗口
T10面试:View的绘制流程
UI自定义实战
RecycleView
腾讯T10:RecyclerView四级缓存
腾讯T10:RecyclerView局部刷新如何做
腾讯T10:RecyclerView回收池复用如何运行
RecycleView源码分析
手写RecycleView架构
Webview
Webview原理分析
如何与JS进行交互
WebView性能优化
手写打造高性能WebView
ViewPager2
ViewPager2源码分析
ViewPager2+Fragment实现懒加载机制
Framework实战与总结
高级APP架构开发
架构核心优化能力
UI优化
UI层级规范以及对UI加载的影响
UI卡顿原因分析以及修复
UI绘制、布局、测量原因以及处理方案
优化实战
从原理到实战,多维度解决UI造成的性能问题
启动优化
系统的启动原理
为什么腾讯系APP的启动都用框架来处理?
如何利用数据结构与算法做框架设计?
项目开发中任务管理系统如何设计?
JUC闭锁与AQS技术在启动架构设计中的应用
App启动框架对启动优化的意义
最大化利用CPU资源为项目服务
优化实战
手写淘宝APP项目中启动框架
奔溃优化
项目奔溃异常捕获
优雅的异常处理方案
项目中如何避免异常弹框
优化实战
手写实现异常处理框架
卡顿优化
多维度分析造成卡顿的原因
内存抖动与GC回收
回收算法
优化实战
从维度解决卡顿问题实战
安全性优化
APP加固实现(防反编译,dex加固)
https防抓包机制(数据传输加载,客户端服务器端双向加密校验)
优化实战
手写打造APK加固框架
弱网优化
serializable原理
parcelable接口原理解析
http与https原理详解
protbuffer网络IO详解
gzip压缩方案
优化实战
今日头条弱网缓存框架实战
APP深度优化
大图加载优化
Glide巨图加载机制原理分析
大图多级缓存实现方案
优化实战
手写微博巨图加载功能
储存优化
Android文件系统-sdcard与内存存储
Shared Preference原理详解
MMAP内存映射
优化实战
手写实现微信MMKV存储方案
微信图片高效传输方案
Bitmap源码深度解读
哈夫曼压缩算法
jpeg引擎与Sika引擎
优化实战
手写打造微信图片压缩技术
微信Apk极限瘦身方案
shrinkResources去除无用资源
合理设置多语言
webp实现图片瘦身
合理配置armable-v7的so库
Lint检查工具实践
实战应用
微信黑科技AndResGuard的使用讲解
开发焦点问题优化
oom问题原理解析
ADJ内存管理机制
JVM内存回收机制与GC算法解析
生命周期相关问题总结
Bitmap压缩方案总结
ANR问题解析
AMS系统时间调节原理
程序未响应原因分析以及解决方案
Crash监控方案
Java层监控方案
Nativie层监方案
编程效率优化
分布式仓库系统Git专题
项目发布
项目管理与更新
Gradle专栏
架构新技术JetPack
JetPack全家桶成员介绍
JetPack存在的意义与开发优势
Foundation成员
Architecture成员
UI相关成员
Behavior成员
实战应用
谷歌官方项目sunflower全解
Architecture设计思想
Lifecycle
Lifecycle源码解析
Lifecycle在高阶应用
ViewModel
ViewModel源码讲解
ViewModel的应用技巧与实践
LiveData
LiveData源码解析
实战应用
手写实现LiveData以及将LiveData打造成事件分发框架
Navigation
Navigation深入源码分析
实战应用
APT技术实现自定义Fragment导航器
Room
Room深入源码分析
Room+LiveData监听数据库数据变更刷新页面原理分析
实战应用
基于Room封装APP离线缓存框架HiStorage
WorkManager内核揭秘
组件DataBinding原理分析与实践
单向绑定
双向绑定
与RecyclerView的配合使用
底层原理解析
Hilt
Dagger2核心原理分析
Dagger2核心原理深度解析
APT技术实现依赖注入原理
手写实战
APT实现手写Dagger注入式框架
使用Jetpack新技术Hilt实现深度解耦
手写实战
一分钟完成一月重构工作量,隔离层架构设计
架构Gradle
自动化构建App
Groovy基础
Groovy开发环境搭建
Groovy变量与字符串
Groovy接口与闭包
常用数据结构
面向对象
Json与Xml解析
文件操作
Gradle与Android插件
Gradle是什么
Gradle生命周期探索
Project与Task
Transform API
Transform执行机制与配置
字节码增强技术
修改无源码第三方sdk代码(Bug)
实战: 组件化本地编译机制
arr组件加速编译
arr与本地源码自由切换
arr版本管理与自动更新
前沿编译插件技术
build Script脚本
独立项目开发插件
上传本地仓库与jcenter仓库
Artifactory私服仓库搭建
插件实战
自动化加固插件
AOP编程字节码插桩
多渠道打包
发版自动钉钉
Compose基础
Jetpack Compose 是什么与优势
Composable 函数与预览
Compose 布局与原理
Compose 如何配置布局
Compose 列表与状态
Compose 所解决的问题与原生的区别
Compose进阶
Compose 声明式 UI
Compose 组合 vs 继承
Compose 标准布局组件
Compose Slots API
Compose 自定义布局-使用修饰符
Compose 自定义布局-StaggeredGrid
资深架构师
架构师通用技能
数据结构与算法
常用数据结构
线性表
ArrayList源码分析
项目实战:手写实现ArryList集合
链表
栈
队列
树
映射表
HashMap源码解读与实战
HashMap的扩容机制剖析
Hash函数、Hash值
数组+链表实现原理
JDK1.7后的红黑树算法详解
项目实战
手写实现HashMap集合与扩容机制
排序算法
比较类排序算法
交换排序算法
希尔排序排序算法
非比较类排序算法
归并排序排序算法
计数排序算法
桶排序算法
八大内部排序项目实战场景分析
项目应用
自定义深度查找文件工具实战
架构师必备的代码设计准则
走向软件灵活之路~设计原则与UML
架构的工作内容与工作分类
后端架构与前端架构的工作差异
面向对象六大设计原则解析
单一职责原则
开闭原则
里氏替换原则
依赖倒置原则
接口隔离原则
迪米特法则
架构设计语言UML在架构设计过程中的灵活运用
设计模式
应用最广模式~单例与工厂
单例模式UML与简单实例
深入理解LayoutInflater中的单例引用
工厂模式的使用场景与UML
关于onCreate方法的工厂应用方案
程序扩展与补充~抽象工厂与策略的结合 Builder、抽象工厂、策略模式
深入了解WindowManager中的Builder应用
Android源码中抽象工厂的实现
Android属性动画体系中策略模式的的应用
工厂与策略的结合使用
业务下的多态~状态与责任链
WIFI管理中的状态模式
Android源码中的责任链拦截器实现
翻译与命令~解释器与命令
PMS中的解释器模式的应用
Android事件输入系统中的命令模式
解耦与“备份”~观察者与备忘录
深入Android源码分析观察者的应用
观察者模式的深入扩展
从onSaveInstanceState调用时机去看备忘录
问题解决方案~迭代器与模板方法
Android源码中的迭代器应用场景
Android源码中的模板方法应用场景
编程好帮手~访问者、中介、代理
Android源码中的访问者应用场景
Android源码中的中介者应用场景
Android中的Binder跨进程通信机制与AIDL的代理体现
程序提速的核心~原型与享元
深拷贝与浅拷贝的设计角度应用
intent的查找与匹配中的原型设计
深入了解Android消息机制中的享元设计
业务扩展的好帮手~组合、适配、装饰
为什么ViewGourp有容器功能
Andrid源码中的适配器应用
Context与ContextImpl的装饰应用
对外方案~外观模式与桥接模式
深入Android资源加载体系看外观模式
WMS的桥接应用
项目结构管理~助力架构成本核算
关于架构、框架、设计模式的核心定位与思考
MVC、MVP、MVVM、MVI的演进与异同
MVC、MVP、MVVM、MVI的成本角度结合业务如何考虑选型
设计模式总结与各设计模式场景选型整理
设计模式综合运用
实战 项目重构
网络访问
OKHttp网络框架
网络模型与Https
网络七层模型 TCP、UDP
http三次握手底层实现
https证书下发机制
DNS解析与Socket通信原则
深度理解网络框架
网络七层模型 TCP、UDP
Restful URL
SSL握手与加密
DNS解析与Socket通信原则
手写OkHttp高并发网络访问框架
OkHttp源码分析与架构详解
请求队列与线程池
Socket连接池复用机制详解
拦截器与责任链模式实现重连实现的重试机制
http头,链接与http协议解析
手写实现支持高并发,可拓展自定义网络访问框架
Retrofit
Retrofit的核心原理解密
Retrofit源码分析
图片加载
Glide图片加载框架解析与实现
Glide框架深入源码解析
Glide生命周期解析
请求队列/转发
加载器,加载策略
Glide的三级缓存机制
内存缓存原理
LruCache和DiskLruCache深度解析
Coil图片加载框架解析与实现
Coil对比Glide分析
Coil项目应用实战
Coil源码解析
MemCache
DiskCache
动态采样
Coroutine
数据库管理框架
Jetpack Room数据库应用与源码解析
进程通信框架
Binder通信的弊端
http请求思想实现service与client信息通信
动态代理实现对不同进程同一个单例的方法无感知调用
实战: 超越Binder让你进程灵活变通
Rx响应式编程
RXJava2
操作符原理
create
map
flatmap
subscribeOn
observeOn
。。。。。。
事件订阅与事件响应
变种观察者模式
事件变换与线程切换
详解实战项目中使用Rxjava
RxBus
事件订阅与分发机制
事件总线与注册中心
普通事件与粘性事件
RxBinding3
MVVM模式下的视图绑定
Rx控件
RxView
RxTextView
RxToolbar
RxAdapterView
RXBinding防抖机制
Rxlifecycle2
RxFragment与RxActivity源码解读
RxLifecycle与Activity生命周期绑定原理
RxLifecycle解决RxJava内存泄露机制
Android实战—RxJava2+Retrofit2+Rxlifecycle+Databinding +MVVM打造最前沿实战项目
注入解耦
Dagger2
Dagger2核心原理深度解析
APT技术实现依赖注入原理
Hilt
使用Jetpack新技术Hilt实现深度解耦
组件化架构设计
组件化项目搭建
组件化架构的认知以及优势
组件化架构搭建
模块Gradle统一管理与配置
组件化的单一模式和集成模式
组件化实战项目中的是是非非分析
实战路由框架设计
阿里ARouter组件化路由框架详解
APT技术在ARouter中的使用
组件间通信方案与实现
热修复框架设计
AOT/JIT.dexopt与dex2oat
ClASS_ISPREVERIFIED问题与解决
即时生效与重启生效热修复原理
Gradler自动补丁包生成
实战 手写热修复架构
Shadow插件化框架设计
插件化原理分类
replugin原理
VirtualApk原理
Atlas原理
Shadow编译时
Shadow中Transform执行机制与配置
Shadow字节码更改技术
插件Activity摇身一变成PluginActivity
Shadow 源码分析
PluginManager插件管理
ManagerImplLoader 通信管理
BaseDynamicPluginManager启动插件流程
MainPluginProcessService插件进程分配
实战 手写腾讯无编译时的Shadow插件化架构
实战项目: 手机微信
mvc,mvp与mvvm架构思想
代码解耦思想与解决方案
业务模块划分与设计思想
Flutter架构工程师(升级3.0)
Dart语法基础
Dart语法详解与编译原理
Dart面向对象原理
变量,函数,操作符,异常
类的机制
初始化列表规则
命名构造方法
常亮构造方式
工厂构造特征
Mixin
Dart语法进阶
Flutter3.0之UI
列表和网格视图Widget
ListView详解与应用
GridView详解与应用
布局Widget
Padding
Center
Align
Baseline
SizedBox
Row
Column
Flutter3.0线程
事件队列
async、await原理
Future任务调度
Promise语法
Platform Runner线程
Flutter启动流程
Dart虚拟机
Dart虚拟机与JVM虚拟区别
Dart虚拟机创建过程
Isolate主线机制
Dart语法加载流程
Skia引擎
FlutterApplication
FlutterActivity启动流程
Skia引擎与原生机制
Flutter应用启动
Flutter3.0 FrameWork框架
TaskRunner工作原理
StatefulWidget运行机制
Flutter动画原理
补间动画原理
物理动画原理
动画流程
Flutter渲染机制
UI线程渲染
GPU线程渲染
Flutter通信机制
MessageLoop启动原理
Platform Channel原理
MethodChannel原生通讯
引擎层原理
宿主层原理
Flutter异步通信
消息任务发送
消息任务接受
0 条评论
下一页