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