学习计划


  • 1高级UI绘制

    UI流程绘制分享

    源码级分析、View的测量、View的布局、View的绘制过程

    绘图及特效制作

    Paint画笔高级技能(Paint的方法使用技巧、高级渲染(BitmapShader位图渲染、LinearGradient线性渲染、RadialGradient环形渲染、SweepGradient扫描渐变渲染、ComposeShader组合渲染))、Xfermode、滤镜效果(BlurMaskFilter滤镜、EmbossMaskFilter滤镜)、颜色通道过滤(ColorMatrixColorFilter 颜色矩阵过滤、LightingColorFilter曝光颜色过滤、PorterDuffColorFilter图层混合颜色过滤)、Canvas画板高级技能(Canvas基础使用技巧、Canvas区域切割技巧(实例:android实现IOS Reveal特效))、Canvas变换使用技巧(translate、scale、rotate、skew斜拉画布)、Canvas图层与状态方法使用技巧(通过save和restore解决图层绘制技术、离屏缓冲技术、PorterDuffColorFilter图层混合颜色过滤)、超强辅助英雄-Path工具类的使用、超强ADC英雄-PathMeasure牛叉辅助类的使用

    自定义控件

    自绘控件、继承控件、组合控件、Scroller详解及源码浅析、ViewDragHelper详解及源码浅析、自定义View触摸工具类解析(ViewConfiguration基础参数工具类、VelocityTracker手势速率工具类、GestureDetector手势工具类)、大量自定义控件实践(滑动选择价格区间标签控件、热门标签--流式布局、腾讯内部技术-QQ空间之打造个性化可拉伸头部控件、个性化滑动指示器、Material Design---RecyclerView实现时光轴效果、android实现IOS Reveal特效)

    事件传递机制(深入源码分析)
    事件冲突解决
    高级动画及特效

    属性动画完全解析、MaterialDesign动画(Touch feedback(触摸反馈)、Reveal effect(揭露效果)、Activity transitions(Activity转换效果)、Curved motion(曲线运动)、View state changes (视图状态改变)、Animate Vector Drawables(矢量动画))、SVG(SVG概述、SVG图片使用实例、SVG动画使用实例)、GIF动画引擎框架、自定义动画框架

    Material Design原材料设计开发

    NavigationView+DrawerLayout主流侧滑实现、TextInputLayout、Snackbar、Toolbar、Material Design样式属性开发、百分比布局、沉浸式设计、TabLayout、Palette调色板、FloatingActionButton悬浮按钮及联动动画效果、CardView、CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、Behavior、CollapsingToolbarLayout、自定义Behavior及源码分析

  • 2性能优化

    内存泄露分析

    发生OOM的条件分析、避免内存泄漏(如何使用更高效的ArrayMap容器、如何避免不经意的“自动装箱”、Lint,StictMode等工具的使用技巧)、内存管理机制(共享内存、分配与回收内存、限制应用的内存、应用切换操作)、OOM(查看内存使用情况)、onLowMemory与onTrimMemory的回调

    性能优化工具的使用

    MAT、LeakCanary、Memory Monitor、Allocation Tracking、Heap Tool、TraceView、hierarchyviewer布局检测工具

    第三方分析工具

    MemoryAnalyzer、GT Home、iTest

    Android的渲染机制分析

    渲染性能问题的根源、渲染优化(UI卡顿分析、过度渲染问题、布局优化)、内存优化(内存抖动问题)、计算优化

    电量优化

    分析电量的流失、分析电量消耗数据、分析充电状态和电池管理、battery-historian工具的使用、窝信号对电量消耗、Job Schedule

    网络优化

    Batching批处理技术、Prefetching预取技术、GCMNetworkManager高级实践、Network Traffic Tool工具的使用

    View的性能

    自定义View的性能优化、提升View的渲染性能、处理重复layout操作的性能问题

    Bitmap内存优化

    缩放性能优化、缓存性能优化、重用性能优化、PNG压缩性能优化、微信图片终极压缩方案问题

    安装包性能优化

    打包流程分析、aapt资源文件打包原理、resources_arsc二进制机构分析、资源文件压缩、资源动态加载、Lint工具优化、极限压缩、Proguard混淆

    数据传输的效率优化

    FlatBuffers、WEBP格式图片使用、7Zip极限压缩

    隐形内存杀手Service的调优

    如何优化后台服务的内存消耗;如何保障服务的常驻内存、双进程守护

    设计线程池优化性能
    多线程并发的性能问题

    线程间通讯、AsyncTask源码级分析及注意、HandlerThread的处理、IntentService使用场景分析和实践、ThreadPool使用场景和注意

    程序调优提高应用启动速度

    线分析程序启动流程、优化启动流程和提速

    Splash页面优化设计的窍门

    缓存加载设计、如何提升主界面响应速度

  • 3NDK开发

    C 编程

    函数、指针(N级指针概念、指针数组、数组指针)、内存布局、结构体和共用体、文件操作、宏、动态库的封装和设计

    C++编程

    C++对C的扩展(C++关键字、命名空间、引用、C/C++混合编程、引用、函数扩展)、C++基础编程(对象管理、类的构造和析构、友元函数与友元类、操作符重载、c++编译器对象管理模型分析、类的继承、多态、抽象类、函数模板、类模板,模板的继承、C++类型转换、C++ IO、异常处理)、C++ STL(序列式容器、堆栈容器、双向链表容器、关联式容器、对组、算法详解)

    FFmpeg

    音视频编解码原理、音频解码、视频解码、视频像素格式转换、音视频同步处理、视频播放器

    Linux系统编程

    Linux基本命令、VIM使用、GCC GDB使用、Shell脚本核心编程、Mikefile编写、文件I/O操作、Linux文件系统剖析、进程管理(进制控制原语、进程间通信、信号处理、进程间关系和守护进程)、线程控制原语和线程间同步、网络编程(网络编程协议、Socket套接字原语详解)

    JNI开发

    JNI类型、JNI函数操作(数组操作、字符串操作、Java层访问(类、属性、方法))、异常、引用操作(局部引用、全局引用)、优化

    NDK

    运行机制与流程、Android.mk(GNU Make系统变量、模块描述变量、GNU Make 功能宏)、Application.mk、日志与调试、支持c++、Native原生绘制、OpenSL ES、双进程守护、视频直播(音视频采集与编码、FAAC、X264、RTMP协议、nginx流媒体服务器部署)、WebRTC视频通话

  • 4移动架构师

    创建型模式

    Simple Factory、Factory Method、Abstract Factory、Builder、Prototype、Singleton

    UML建模

    图(类图、时序图)、关系(依赖 Dependency、泛化 Generalization、关联 Association、实现 Realization)

    设计原则

    单一职责SRP、里氏替换LSP、依赖倒置DIP、接口隔离ISP、迪米特LOD、开闭OCP

    AOP架构设计

    Aspect、Joint point、Pointcut、Advice、用户行为统计场景、性能监控场景

    行为型模式

    Template Method、Observer、State、Strategy、Chain of Responsibility、Command、Visitor、Mediator、Memento、Iterator、Interpreter

    源码分析

    Builder模式及其Dialog系统源码分析,责任链模式模式及其Android系统事件分发机制详解,Android Handler源码分析,PackageManagerService源码解析及其apk安装原理,解释器模式及其在PackageParser源码中的运用,Activity启动流程源码全解析,ListView的复用机制源码层分析,属性动画源码详解,Message链表原理,Binder核心原理与架构设计

    数据库框架设计

    面向对象式手写数据库架构设计(增删改查),SQLCipher进行数据库加解密。xml脚本实现数据库全量升级

    网络访问框架设计

    Volley网络框架源码层解析,使用泛型完成手写高扩展的Volley网络访问框架设计 ,支持高并发,请求队列和批量断点下载,以及下载文件时数据记录自动插入

    图片加载框架设计

    配置、外观、请求队列、请求、请求转发、加载器、加载策略、缓存策略。LruCache和DiskLruCache解析,自定义Glide图片加载框架设计

    RXJava响应式编程框架设计

    RXJava的内核机制及原理详解。手写RxJava框架设计,实现链式调度,事件变换,线程切换。

    结构型模式

    Façade、Adapter、Proxy、Decorator、Bridge、Composite、Flyweight

    IOC架构设计

    运行时注入、编译时注入、注入布局、注入视图、注入事件, ButterKnife设计Dagger架构设计核心解密

    项目框架设计

    MVC、MVP三层架构,MVVM在AndroidStudio编译时的原理剖析

  • 5React Native

    基础

    环境搭建、React Native开发基础(flexbox、JSX、配置、运行、调试、发布)、HTML DOM编程、Javascript面向对象编程、CSS、ReactNative 通信机制

    API和组件

    常用组件及其实践(View、Text、NavigatorIOS、TextInput、Touchable、Image、TabBarIOS、WebView)、常用API及其实践(AppRegistry、AlertIOS、ActionSheetIOS、PixelRatio、AppStateIOS、StatusBarIOS、NetInfo、CameraRoll、VibrationIOS、Geolocation、数据请求、定时器)、Native扩展(通信机制、自定义Native API组件、构建Native UI组件)、组件封装(二级菜单组件、日历组件、开源组件)

    App更新

    初始化设置、更新逻辑、回滚策略

    项目实战

    内部通讯录(技术架构、工具组件和服务、联系人列表、公告功能、管理功能、关于、建议、)、基于LBS的应用(列表组件开发、详情页组件开发、WebView地图模块开发、综合效果)、豆搜(豆瓣API、服务列表、Navigator封装、公共头封装、WebView封装、搜索框封装、图书列表页、图书详情页、电影模块、音乐模块)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值