anroid知识体系

简介: anroid知识体系

想要成为一名优秀的 Android 开发,不仅需要断的敲代码,还需要一份完备的知识体系,能够让我们学到的知识体系化。让自己清楚哪块是自己的知识盲区,哪块已经构建起根基,然后根据实际情况,有针对性的进行模块学习。

我平时也逛一些网址,存储了一些Android视频资料,话不多说,直接上图:

一,Java高级

反射,注解,泛型


多线程:线程、线程池、Synchronized、volatile、ReentrantLock


JVM:类加载、内存模型、垃圾回收机制、强弱虚引用


集合容器:Collection、Map


二,安卓多线程

多线程是开发人员必不可少的技术点,也是初学者不太容易掌握好的一个难点。要想设计出优秀的程序,那必然需要合理的线程调度。


Handler:Handler、Looper、Message

ThreadLocal,AsyncTask


三,网络

在 Android 的日常开发和源码阅读中会经常碰到相关知识,掌握这些网络基础知识,也是 Android 程序员真正迈向高阶的过程中必备的一些基本技术素质之一。

HTTP、HTTPS     TCP UDP     TCP/IP     SOCKET


网络请求过程:三次握手、四次挥手、证书、断点续传


四,视图

Surface


View: 自定义 View(measure、layout、draw)


Window:PhoneWindow、DecorView、ViewRoot


事件分发机制:滑动冲突、dispatch


动画:帧动画、View动画、属性动画


ListView工作原理


RecycleView工作原理、与ListView比较


Webview:js通信,加载优化


五,图片

BitMap:加载效率、缓存策略、内存计算


Drawable


加载大图


六,安卓系统

系统启动流程


应用启动流程


进程间通信:IPC机制、Binder原理、AIDL


构建:Grale、APT编译注解处理器


apk打包:打包流程、v1和v2签名、分包multidex、加固


Dalvik与ART


SystemServer:ActivityMagangerService、PackageManagerService,WindowManagerService


Dalvik与ART


JNI:JNI基础、NDK


七,四大组件

Android 四大基本组件分别是 Activity,Service 服务,Content Provider内容提供者,BroadcastReceiver 广播接收器。


Acitivity难点:四大launch模式、启动流程、加载布局流程


Service难点:启动方式、启动流程、应用场景


ContentProvider难点:生命周期、启动流程、原理


Broadcast难点:生命周期、注册方式、启动流程


八,性能优化

作为一个 Android 程序员,性能优化是无法避开的事情,并且性能优化也是 Android 中最有挑战的工作之一,更是每个工程师都需要掌握的核心技能。


启动优化     UI优化     内存优化    卡顿优化    网络优化    数据库优化    包体积优化    ANR


九,三方库

Android 平台上的数据库框架非常多,但是有一个共同特点就是基于对象关系映射(ORM) 模型的。实现的目标也都是不需要写 SQL 语句,通过对对象的操作保存和操作数据。


图片加载:Gride、Fresco、Picasso、Android-UIL


网络通信:Retrofit、Okhttp、Volley


异步处理:RxJava、RxAndroid、RxBinding、EventBus


数据库:


十,与时俱进

跨平台:Flutter、ReactNative、Weex


模块化


Hook技术


插件化:DroidPlugin、VirtualAPK 、Small、RePlugin


组件化:ARouter、CC


热更新:Tinker、AndFix、Robust


动态化


十一,Kotlin

扩展函数    构造函数     协程


十二,框架

Jetpack:ViewModel、LiveData、Lifecycles、Navigation、Room、Paging、WorkManager、DataBinding


MVC

MVP

MVVM

设计模式:六大原则、常见设计模式


十三,音视频

音视频基础


ffmpeg    WebRTC   OpenGL  Vulkan

有需要的可以滴滴我或者留言!!!

相关文章
|
6月前
|
程序员 Android开发 Java
android开发基础机构,真的太香了
android开发基础机构,真的太香了
|
Oracle Java 关系型数据库
神级程序员都在用什么工具?
神级程序员都在用什么工具?
108 0
|
XML Java 数据库
[总结]安卓开发工程师之路
[总结]安卓开发工程师之路
|
设计模式 架构师 算法
Android程序员必备!Android开发热门前沿知识,重难点整理
Android程序员必备!Android开发热门前沿知识,重难点整理
Android程序员必备!Android开发热门前沿知识,重难点整理
|
数据可视化 Android开发 UED
Android开发经验分享
  从G1上市到现在,市面上已经出现了至少30款Android手机。为什么至今依然有一些用户在抱怨Android不好用,在相关的开发中,什么才是真正值得关注的,开发的核心是什么?为什么移动应用需要格外关注用户体验?本文将对这些问题尽可能的作出解答。
1306 0
|
Linux Android开发 设计模式
关于各阶段Android开发书籍推荐
书籍是人类进步的阶梯。这阶梯同样适用我们码农。 一,Android入门系列书籍推荐;        Android Training     Android API Guides   推荐理由:入门使用官方的这两份文档是最好不过的了,没有比这个更权威,更准确的Android学习资料了。
3679 0
|
程序员 Android开发 开发者
面世宣言:给 Android 开发者的面试手册
连载内容镇楼:Android 面试(一 ):说说 Android 的四种启动模式Android 面试(二): 如何理解 Activity 的生命周期Android 面试(三): 用广播 BroadcastReceiver 更新 UI 界面真的好吗?An...
1025 0