核心代码,注释必读
public static void main(String[] args) {
// 学、课, \/找: 80407290
System.out.println("Hello World~~");
}
}
想要成为一名优秀的 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
- Glide加载大图
六,安卓系统
- 系统启动流程
- 应用启动流程
- 进程间通信: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
- 数据库: