Android App 开发技术图谱(android app开发平台)
liuian 2025-04-01 19:47 50 浏览
引言:
今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.
图片比较大, 加载较慢, 请等待~~
Android_App_Skill_Map
1. 操作系统
Windows/MacOSX/Linux
2. 编程语言
Java
HTML/JS (Hybrid/Web App)
C/C++ (NDK)
SQL (DB)
Kotlin
3. 开发工具
3.1 IDE
Android Studio
Eclipse
3.2 调试工具
3.2.1 网络调试
Charles
Wireshark
Fiddler
tcpdump
Paw/Postman
3.2.2 内存分析
monitor
MAT
3.2.3 Android tools
adb
draw9patch
hierarchyviewer
uiautomatorviewer
3.3 版本管理
3.3.1 Git
Git命令
Github/GitLab
3.3.2 SVN
3.4 CodeReview
Gerrit
Github pull request
3.5 Bug/任务管理
Redmine
JIRA
Bugzilla
Teambition
Tower
3.6 编译工具
Gradle
3.7 持续集成
Jenkins
Travis CI
3.8 应用分发
蒲公英
fir.im
1. App基础
1.1 基本组件
Activity
Service
Content Provider
Broadcast Receiver
Intent/Intent Filter
App Manifest File
1.2 UI
Layouts
Widgets
Resources
Animations
设备适配
1.3 Connectivity
WiFi
Mobile网络
网络状态监听
1.4 MultiMedia
Audio/Video
Camera/Gallery
1.5 GPS&Location&Map
1.5.1 系统定位
GPS定位
Network定位
3rd Map定位
百度Map
高德Map
2. App进阶
2.1 Process&Thread
2.1.1 Process
Linux进程
App进程原理
2.1.2 AIDL
实现方式
原理
2.1.3 Handler/Looper/MQ/Thread
2.1.4 Loader
2.1.5 AsyncTask
2.2 性能优化
2.2.1 ANR
2.2.2 布局层级性能优化
2.3 内存优化
2.3.1 内存检测工具
2.3.2 内存分析工具
2.3.3 Bitmap优化
2.3.4 内存泄露查找及分析
2.5 网络优化
2.5.1 API优化
2.5.2 低网速下优化
2.5.3 流量使用优化
判断当前网络类型
使用缓存
2.6 单元测试
3. App高级
3.1 相关原理熟悉
3.1.1 Activity
启动流程
生命周期回调原理
与View/Window的关系
与Fragment的关系
3.1.2 View/Window
View/Window关系
View渲染
View事件分发处理流程
3.1.3 编译打包
编译打包原理
逆向工程分析
热修复
3.2 Hybrid App
3.2.1 与Native App的异同
3.2.2 主流框架
PhoneGap
ionic
React Native
3.3 架构能力
3.3.1 架构
MVC
MVP
MVVM
Flux
Clean Architecture
3.3.2 App框架
分包
分层
3.3.3 设计模式
OOD原则
常用设计模式运用
3.4 ART&Dalvik
AOT compilation
GC
Bytecode&.Dex
3.5 自动化测试
monkey/monkey runner
UIAutomator
Espresso
Robotium
4. 扩展学习
4.1 响应式编程
4.1.1 Rx
RxJava
RxAndroid
RxBinding
4.1.2 Agera
4.2 主流开源库
4.2.1 快速开发
Android Annotation
ButterKnife
4.2.2 Views
太多
4.2.3 HTTP模型
Retrofit
OkHttp
Volley
4.2.4 图片处理
Glide
Fresco
Picasso
UIL
4.2.5 依赖注入
Dagger2
4.2.6 数据库
ORMLite
GreenDAO
Realm
Sugar
4.2.7 辅助
Logger
LeakCanary
DbInspector
本文已上传至Github AndroidDevResources 项目, 欢迎Fork, 提出意见.
(本文地址, 或github资源地址
https://github.com/mingjunli/AndroidDevResources/wiki/Android-App%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E5%9B%BE%E8%B0%B1)
相关推荐
- 木马病毒下载安装(木马病毒下载安装不实名认证)
-
现在1,你自己机器上下载个杀毒软件,安装之后不要删除安装包2,运行杀毒软件3,插入优盘,杀毒软件会自动扫描优盘发现病毒然后提示你4,选择处理/杀毒/清理这些字样5,把杀毒软件安装包复制到优盘6,右键优...
- 手机cdr转jpg最简单的方法(手机cdr转换jpg)
-
cdr文件怎么转换成jpg,快来看下操作方法吧。方法/步骤1、打开电脑中的cdr软件,点击文件,打开,打开需要转换格式的cdr文件。2、点击菜单栏的文件,导出。3、打开导出对话框选择保存文件路径。4、...
- xp永久激活工具(xp永久激活码)
-
如果你需要重置XP的激活器,你需要先打开“开始”菜单,然后选择“运行”。在运行对话框中,输入“regedit”,然后按回车键。这会打开注册表编辑器。在编辑器中,使用左侧面板来导航到“HKEY_LOCA...
- cad2008激活序列号(激活cad的序列号)
-
1.首先运行“AutoCAD2008安装包”中的“Setup.exe”安装AutoCAD2008,安装过程需要十分钟左右;2.第一次运行AutoCAD2008时,请在注册界面输入序列号666-9...
- 自己可以重装电脑系统么(可以自己重装系统吗)
-
电脑自身也可以重装系统。1.电脑是一个可编程的设备,通过特定的步骤和操作,用户可以自行进行系统重装。2.重装系统的过程包括备份重要数据、获取系统安装介质、重新启动电脑进入安装界面、按照指引选择系统...
- 苹果处理器性能排行(苹果处理器性能排行榜平板)
-
1、截止至最新的iPhoneXS上搭载的A12,从iPhone4首次搭载A4处理器开始,目前已经有9代的苹果A系列处理器;2、A4是一颗45nm制程的ARMCortex-A8的单核心处理器,GP...
- 苹果手机怎么录屏(苹果手机怎么录屏在哪里打开)
-
iPhone手机的屏幕录制功能需要在设置里面进行添加,添加成功之后,就可以使用录屏功能了。点击控制中心进入iPhone手机的设置,来到设置之后,找到控制中心选项并点击。点击加号添加录屏功能来到控制中心...
- 电脑怎么打开系统还原(电脑怎么开启系统还原的功能)
-
右键此电脑,属性,系统保护,配置,勾选启用系统保护,确定,创建,输入还原点描述,点击创建,系统提示已成功创建还原点,点击关闭,当需要还原的时候,点击上面的系统还原,选择需要还原的节点,点击完成,即可开...
- ghost系统下载xp(非ghostxp下载)
-
蒲公英系统网站能下载。下载后缀为gho的xp系统,使用体验非常棒效果非常好。以上信息根据美国华盛顿操作系统邮报最新消息显示。不能装钉钉的。在WindowsXP系统上是不能安装钉钉来上网课的。要使用钉...
- 电脑安全模式怎么用(电脑安全模式怎么按出来)
-
1.进入运行输入指令确定键盘上按下win+r组合键,打开运行,输入msconfig,点击确定。2.进引导系统选安全引导进入页面后,点击引导,选中系统,勾选安全引导,点击确定。3.重启进入安全模式弹出...
- win10可选更新(win10可选更新和必要更新)
-
首先确保系统是激活状态。如果不是,可以用小马激活或KMS激活软件等工具激活。1.打开开始菜单,选择“设置”,选择“更新和安全”,设置自动检测安装更新,接受win10推送。电脑接受win10推送后...
- 讯飞语音输入法(讯飞语音输入法电脑版)
-
手机中讯飞语音输入法操作起来非常的简便。我们可以先打开讯飞语音。输入法在输入法键盘上的上端有一个麦克风的标识,我们只要点开麦克风的标识,就可以说话了,上面就会出现相应的文字了。文字可以自动帮我们识别修...
- 一周热门
-
-
飞牛OS入门安装遇到问题,如何解决?
-
如何在 iPhone 和 Android 上恢复已删除的抖音消息
-
Boost高性能并发无锁队列指南:boost::lockfree::queue
-
大模型手册: 保姆级用CherryStudio知识库
-
用什么工具在Win中查看8G大的log文件?
-
如何在 Windows 10 或 11 上通过命令行安装 Node.js 和 NPM
-
威联通NAS安装阿里云盘WebDAV服务并添加到Infuse
-
Trae IDE 如何与 GitHub 无缝对接?
-
idea插件之maven search(工欲善其事,必先利其器)
-
如何修改图片拍摄日期?快速修改图片拍摄日期的6种方法
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
