- 数据结构和算法
- 操作系统
- 编程语言
- 网络协议
- 数据库
- 开源框架
- 测试基础
- 四大组件
- UI设计:
- View
- Fragment
- 事件处理
- 绘画基础
- 动画
- 通知栏
- Widget
- Material Design
- 网络
- 线程/进程
- 数据存储
- 资源管理和打包,视图架构,优化,NDK开发;
四大组件:
Activity:生命周期管理,Intent,序列化,LanuchMode和Flag
Service:startService/stopService,BindService/unBindService,跨进程,bind/aidl,IntentService
BroadcastReceiver:LocalBroadcastManager,普通和有序广播
ContentProvider:常见增删改查,ContentObserver,实现ContentPorvider
Ui设计:
Material Design
Widget
通知栏:系统style和自定义RemoteView
动画:帧动画,属性动画,补间动画
常见View的使用
常见ViewGroup使用:LinearLayout,RelativeLayout,FrameLayout
基础控件使用:TextView,Button,ImageView,EditText
高级控件使用:ListView,RecycleView,Toolbar,ViewPager,WebView为:常见使用和和JS交互,SurfaceView
自定义View:OnMeasure,onDraw,onLayout,自定义属性
网络:
线程/进程:
进程:进程优先级,LowMemoryKiller,Service,Activity等多进程实现
线程:线程和线程池使用,Handler/HandlerThread,AsyncTask,Loader
数据存储:
SharePreference
私有存储目录和sd卡
Sqlite
ContentProvider来实现数据读写
进阶:
资源管理和打包:
打包流程:编译,混淆,签名,Gradle...
资源管理:AssetManager,Resource,主题样式,多分辨率适配
视图架构:
Activity的视图层次
布局生成过程
优化:
掉帧卡顿
cpu/内存占用过高,内存泄漏
过度绘制
电量优化:wakeLock,JobScheduler
anr
排查工具:Lint,strictMode,MAT,HierarchyViewer
开发者选项
NDK开发
编程基础:
编程语言:
Java:
虚拟机基础知识
语法结构
多线程并发
面对对象设计
C/C++
Shell:常见命令使用
数据结构和算法
操作系统
网络协议:
Tcp/udp
http/https:
数据报文结构
HttpCode,常见Header
文件上传
抓包工具使用
Wireshark
HttpScoop
Tcpdump
数据库:SQL语法,索引优化,范式
开源框架:
图片加载:Fresco,Glide,Picasso
推送:小米,友盟,极光
分享:友盟分享到微博,微信等
事件分发:EventBus,Otto
异步加载:Rxjava
网络:Retrofit,okhttp,Volley
HyBird:Recet Native
测试基础:
开发自测:冒烟测试,边界测试,回归测试
MonkeyTest
Android Instrumenttation
单元测试
技术补丁:
- 热补丁
- 插件化
其他:Android加固
Crash/anr收集
软件内更新
多渠道打包
换肤:自定义资源加载,换色
Android studio
adb等工具