转载请注明出处:http://www.jianshu.com/p/e4c6401e9ac0
本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 LeoYan 即可关注。
简单总结了一下 Android App 开发中使用到的知识,以脑图的形式呈现。后续会慢慢补全各个分支相应的链接。
Android-App开发技能图谱注:如图片显示不清晰,请在图片上右键另存为到本地查看高清大图。
一、开发工具
1. IDE
- Android Studio
- Eclipse
2. 调试工具
Android Tools
- adb
- Hierarchy Viewer
- draw9patch
- UI Automator Viewer
- Trace View
- Lint
网络调试
- Charles
- Wireshark
- Fiddler
- tcpdump
- Paw/Postman
内存分析
- Android Monitor
- MAT
3. 版本控制
Git
- Git命令
- Github/GitLab
SVN
4. CodeReview
- Gerrit
- Github pull request
5. Bug/任务管理
- Redmine
- JIRA
- Bugzilla
- Teambition
- Tower
6. 编译工具
- Gradle
7. 持续集成
- Jenkins
- Travis CI
8. 应用分发
- 蒲公英
- fir.im
二、App 基础
1. 基础知识
- java基础
- 数据结构
- 面向对象思想
- 设计模式
- 面向对象思想
2. Android基础
Android SDK
基本组件
- Activity
- Service
- BroadcastReceiver
- ContentProvider
- Intent/Intent Filter
- AndroidMainfest
UI
Layout
- LinearLayout
- RelativeLayout
- FrameLayout
- GridLayout
- TableLayout
- DrawerLayout
- SlidingPaneLayout
View
Widget
- TextView
- Button
- ImageView
- ImageButton
- RadioButton
- ToggleButton
- CheckBox
- Switch
- ProgressBar
- SeekBar
- RatingBar
- Spinner
- WebView
Container
- RadioGroup
- ScrollView
- ListView
- GridView
- ExpandableListView
- Gallery
- ViewPager
- SlidingDrawer
- TabHost
- VideoView
- RecyclerView
- CardView
Date&Time
- DatePicker
- TimePicker
- CalendarView
- TextClock
- AnalogClock
- Chronometer
Expert
- ToolBar
- Fragment
- Space
- PopupWindow
- CheckedTextView
- AutoCompleteTextView
- MultiAutoCompleteTextView
- QuickContactBadge
- ExtractEditText
- NumberPicker
- ZoomButton
- ZoomControls
- GestureOverlayView
- SurfaceView
- TextureView
- StackView
- ViewStub
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ImageSwitcher
- TextSwitcher
- AdapterViewFlipper
- MediaController
- DialerFilter
- PopMenu
Other
- include
- requestFocus
Custom View
- extend system View
- combination View
- extend View
Animation
View Animation
- Tween Animation
- Alpha
- Scale
- Translate
- Rotate
- Interpolator
- Frame Animation
- animation-list
Property Animation
- ValueAnimator
- ObjectAnimator
- AnimatorSet
Resource
assets
- AssetManager
res
- anim
- animator
- color
- drawable
- interpolator
- layout
- menu
- raw
- values
- arrarys
- attrs
- bools
- colors
- string
- styles
- xml
OpenGL
3. 数据持久化
Sqlite
- SQLiteOpenHelper
- ContentProvider
File
- Internal Storage
- External Storage
SharedPreferences
4. 通信
Http
- HttpClient
- HttpConnection
Socket
Bluetooth
NFC
Headset
USB
5. 手机功能
电话
- 联系人
- 通话记录
短/彩信
Camera
Audio
SD卡
Wifi
感应器
- 加速
- 方向
- 重力
- 光线
- 陀螺仪
- 磁场
- 接近
- 温度
- 压力
- 线性加速度
- 旋转
三、App 进阶
1. Process&Thread
Process
- Linux进程
- App进程原理
AIDL
- 实现方式
- 原理
Handler/Looper/MessageQueue/Thread
Loader
AsyncTask
2. 性能优化
- ANR
- 布局层级性能优化
3. 内存优化
- 内存检测工具
- 内存分析工具
- Bitmap优化
- 内存泄露查找及分析
4. 网络优化
API优化
低网速下优化
流量使用优化
- 判断当前网络类型
- 使用缓存
5. 单元测试
- JUnit
四、App 高级
1. 相关原理熟悉
Activity
- 启动流程
- 生命周期回调原理
- 与View/Window的关系
- 与Fragment的关系
View/Window
- View/Window关系
- View渲染
- View事件分发机制
编译打包
- 编译打包原理
- 逆向工程分析
- 热修复
2. Hybrid App
与Native App的异同
主流框架
- React Native
- Weex
- PhoneGap
- ionic
3. 架构能力
架构
- MVC
- MVP
- MVVM
- Flux
- Clean Architecture
App框架
- 分包
- 分层
设计模式
- OOD原则
- 常用设计模式运用
4. ART&Dalvik
- AOT compilation
- GC
- Bytecode&Dex
5. 自动化测试
- Monkey/MonkeyRunner
- UIAutomator
- Espersso
- Robotium
- Appium
- Athrun(TMTS)
五、扩展学习
1. 响应式编程
Rx
- RxJava
- RxAndroid
- RxBinding
Agera
2. 快速开发
- ButterKnife
- Android Annotation
- AFinal
- xUtils
3. Views
- 太多...
4. 网络请求
- OkHttp
- Retrofit
- Volley
5. 图片请求
- Glide
- Fresco
- Picasso
- Universal-Image-Loader
6. 依赖注入
- Dagger2
7. 事件总线
- EventBus
- Otto
8. 数据库
- ORMLite
- GreenDAO
- Realm
- SugarORM
- ActiveAndroid
9. 图表
- MPAndroidChart
- HelloCharts
10. 辅助
- Logger
- LeakCanary
- DbInspector
11. 支付
- 支付宝
- 微信
- 银联
- Ping++
12. 地图
- 百度地图
- 高德地图
- Google地图
13. 分享
- ShareSDK
- 友盟Ushare
14. 统计分析
- 友盟
15. 语音识别
- 科大讯飞
16. 人脸识别
- Face++
- ReadFace
17. 广告
基本信息
作者
- LeoYan
日期
- 2017/02/16
联系我
- 个人博客: www.leoyanblog.com
- 简书:http://www.jianshu.com/u/37cf98f479ea
- CSDN博客:http://blog.csdn.net/leoyan_blog
- Github:https://github.com/leoyanblog
- 新浪微博:http://weibo.com/leoyanblog
- 邮箱: leo_1553@163.com
- 微信公众号:LeoYan
关注我的微信公众号,会有优质技术文章推送。
微信扫一扫下方二维码即可关注:
公众号
网友评论