Android知识体系

 

  1. 数据结构和算法
  2. 操作系统
  3. 编程语言
  4. 网络协议
  5. 数据库
  6. 开源框架
  7. 测试基础
  8. 四大组件
  9. UI设计:
    1. View
    2. Fragment
    3. 事件处理
    4. 绘画基础
    5. 动画
    6. 通知栏
    7. Widget
    8. Material Design
  1. 网络
  2. 线程/进程
  3. 数据存储
  4. 资源管理和打包,视图架构,优化,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

单元测试

技术补丁:

  1. 热补丁
  2. 插件化

其他:Android加固

  Crash/anr收集

  软件内更新

  多渠道打包

  换肤:自定义资源加载,换色

  Android studio

  adb等工具

猜你喜欢

转载自blog.csdn.net/u013255337/article/details/83538645