Android App 开发技术图谱 - 简书
2017-10-27 16:39
344 查看
Android App 开发技术图谱 - 简书
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-35169517-1', 'auto');
ga('send', 'pageview');
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?0c0e9d9b1e7d617b3e6842e85b9fb068";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
[/i]写文章
注册
登录
首页[/i]
下载App[/i]
[/i]
anly_jun
2016.07.26 23:32*
字数 744
引言:
今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.
转载请注明出处: 简书/anly_jun/Android App 开发技术图谱
图片比较大, 加载较慢, 请等待~~
Android_App_Skill_Map
HTML/JS (Hybrid/Web App)
C/C++ (NDK)
SQL (DB)
Kotlin
Eclipse
Wireshark
Fiddler
tcpdump
Paw/Postman
MAT
draw9patch
hierarchyviewer
uiautomatorviewer
Github/GitLab
Github pull request
JIRA
Bugzilla
Teambition
Tower
Travis CI
fir.im
Service
Content Provider
Broadcast Receiver
Intent/Intent Filter
App Manifest File
Widgets
Resources
Animations
设备适配
Mobile网络
网络状态监听
Camera/Gallery
Network定位
高德Map
App进程原理
原理
使用缓存
生命周期回调原理
与View/Window的关系
与Fragment的关系
View渲染
View事件分发处理流程
逆向工程分析
热修复
ionic
React Native
MVP
MVVM
Flux
Clean Architecture
分层
常用设计模式运用
GC
Bytecode&.Dex
UIAutomator
Espresso
Robotium
RxAndroid
RxBinding
ButterKnife
OkHttp
Volley
Fresco
Picasso
UIL
GreenDAO
Realm
Sugar
LeakCanary
DbInspector
本文已上传至Github AndroidDevResources 项目, 欢迎Fork, 提出意见.
© 著作权归作者所有
举报文章
anly_jun
个人博客: http://blog.lmj.wiki
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-35169517-1', 'auto');
ga('send', 'pageview');
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?0c0e9d9b1e7d617b3e6842e85b9fb068";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
[/i]写文章
注册
登录
首页[/i]
下载App[/i]
[/i]
Android App 开发技术图谱
anly_jun
2016.07.26 23:32*
字数 744
引言:
今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.
转载请注明出处: 简书/anly_jun/Android App 开发技术图谱
图片比较大, 加载较慢, 请等待~~
Android_App_Skill_Map
1. 操作系统
Windows/MacOSX/Linux
2. 编程语言
JavaHTML/JS (Hybrid/Web App)
C/C++ (NDK)
SQL (DB)
Kotlin
3. 开发工具
3.1 IDE
Android StudioEclipse
3.2 调试工具
3.2.1 网络调试
CharlesWireshark
Fiddler
tcpdump
Paw/Postman
3.2.2 内存分析
monitorMAT
3.2.3 Android tools
adbdraw9patch
hierarchyviewer
uiautomatorviewer
3.3 版本管理
3.3.1 Git
Git命令Github/GitLab
3.3.2 SVN
3.4 CodeReview
GerritGithub pull request
3.5 Bug/任务管理
RedmineJIRA
Bugzilla
Teambition
Tower
3.6 编译工具
Gradle3.7 持续集成
JenkinsTravis CI
3.8 应用分发
蒲公英fir.im
1. App基础
1.1 基本组件
ActivityService
Content Provider
Broadcast Receiver
Intent/Intent Filter
App Manifest File
1.2 UI
LayoutsWidgets
Resources
Animations
设备适配
1.3 Connectivity
WiFiMobile网络
网络状态监听
1.4 MultiMedia
Audio/VideoCamera/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 主流框架
PhoneGapionic
React Native
3.3 架构能力
3.3.1 架构
MVCMVP
MVVM
Flux
Clean Architecture
3.3.2 App框架
分包分层
3.3.3 设计模式
OOD原则常用设计模式运用
3.4 ART&Dalvik
AOT compilationGC
Bytecode&.Dex
3.5 自动化测试
monkey/monkey runnerUIAutomator
Espresso
Robotium
4. 扩展学习
4.1 响应式编程
4.1.1 Rx
RxJavaRxAndroid
RxBinding
4.1.2 Agera
4.2 主流开源库
4.2.1 快速开发
Android AnnotationButterKnife
4.2.2 Views
太多4.2.3 HTTP模型
RetrofitOkHttp
Volley
4.2.4 图片处理
GlideFresco
Picasso
UIL
4.2.5 依赖注入
Dagger24.2.6 数据库
ORMLiteGreenDAO
Realm
Sugar
4.2.7 辅助
LoggerLeakCanary
DbInspector
本文已上传至Github AndroidDevResources 项目, 欢迎Fork, 提出意见.
</div> <!-- --> <div class="show-foot"> <a class="notebook" href="/nb/2866991"> <i class="iconfont ic-search-notebook"></i> <span>Android经验谈</span>
© 著作权归作者所有
举报文章
<!-- 文章底部作者信息 --> <div class="follow-detail"> <div class="info"> <a class="avatar" href="/u/bc1dacc65fae"> <img src="//upload.jianshu.io/users/upload_avatars/851999/e2599a8c087e.png?imageMogr2/auto-orient/strip|imageView2/1/w/96/h/96" alt="96" />
anly_jun
</div> <div class="signature">看看书, 写写字; 捣鼓捣鼓小技术.
个人博客: http://blog.lmj.wiki
<div class="support-author"></div> <div class="meta-bottom"> <div class="btn like-group"></div> <div class="share-group"> <a class="share-circle" data-action="weixin-share" data-toggle="tooltip" data-original-title="分享到微信"> <i class="iconfont ic-wechat"></i> </a> <a class="share-circle" data-action="weibo-share" data-toggle="tooltip" href="javascript:void((function(s,d,e,r,l,p,t,z,c){var%20f='http://v.t.sina.com.cn/share/share.php?appkey=1881139527',u=z||d.location,p=['&url=',e(u),'&title=',e(t||d.title),'&source=',e(r),'&sourceUrl=',e(l),'&content=',c||'gb2312','&pic=',e(p||'')].join('');function%20a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=440,height=430,left=',(s.width-440)/2,',top=',(s.height-430)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent,'','','http://cwb.assets.jianshu.io/notes/images/4976621/weibo/image_88b289420c2a.jpg', '推荐 @anly-jun 的文章《Android App 开发技术图谱》( 分享自 @简书 )','http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weibo','页面编码gb2312|utf-8默认gb2312'));" data-original-title="分享到微博"> <i class="iconfont ic-weibo"></i> </a> <a class="share-circle" data-toggle="tooltip" href="http://cwb.assets.jianshu.io/notes/images/4976621/weibo/image_88b289420c2a.jpg" target="_blank" data-original-title="下载长微博图片"> <i class="iconfont ic-picture"></i> </a> <a class="share-circle more-share" tabindex="0" data-toggle="popover" data-placement="top" data-html="true" data-trigger="focus" href="javascript:void(0);" data-content=' <ul class="share-list"> <li><a href="javascript:void(function(){var d=document,e=encodeURIComponent,r='http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+e('http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=qzone')+'&title='+e('推荐 anly_jun 的文章《Android App 开发技术图谱》'),x=function(){if(!window.open(r,'qzone','toolbar=0,resizable=1,scrollbars=yes,status=1,width=600,height=600'))location.href=r};if(/Firefox/.test(navigator.userAgent)){setTimeout(x,0)}else{x()}})();"><i class="social-icon-sprite social-icon-zone"></i><span>分享到QQ空间</span></a></li> <li><a href="javascript:void(function(){var d=document,e=encodeURIComponent,r='https://twitter.com/share?url='+e('http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=twitter')+'&text='+e('推荐 anly_jun 的文章《Android App 开发技术图谱》( 分享自 @jianshucom )')+'&related='+e('jianshucom'),x=function(){if(!window.open(r,'twitter','toolbar=0,resizable=1,scrollbars=yes,status=1,width=600,height=600'))location.href=r};if(/Firefox/.test(navigator.userAgent)){setTimeout(x,0)}else{x()}})();"><i class="social-icon-sprite social-icon-twitter"></i><span>分享到Twitter</span></a></li> <li><a href="javascript:void(function(){var d=document,e=encodeURIComponent,r='https://www.facebook.com/dialog/share?app_id=483126645039390&display=popup&href=http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=facebook',x=function(){if(!window.open(r,'facebook','toolbar=0,resizable=1,scrollbars=yes,status=1,width=450,height=330'))location.href=r};if(/Firefox/.test(navigator.userAgent)){setTimeout(x,0)}else{x()}})();"><i class="social-icon-sprite social-icon-facebook"></i><span>分享到Facebook</span></a></li> <li><a href="javascript:void(function(){var d=document,e=encodeURIComponent,r='https://plus.google.com/share?url='+e('http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=google_plus'),x=function(){if(!window.open(r,'google_plus','toolbar=0,resizable=1,scrollbars=yes,status=1,width=450,height=330'))location.href=r};if(/Firefox/.test(navigator.userAgent)){setTimeout(x,0)}else{x()}})();"><i class="social-icon-sprite social-icon-google"></i><span>分享到Google+</span></a></li> <li><a href="javascript:void(function(){var d=document,e=encodeURIComponent,s1=window.getSelection,s2=d.getSelection,s3=d.selection,s=s1?s1():s2?s2():s3?s3.createRange().text:'',r='http://www.douban.com/recommend/?url='+e('http://www.jianshu.com/p/39c63eff3c36?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=douban')+'&title='+e('Android App 开发技术图谱')+'&sel='+e(s)+'&v=1',x=function(){if(!window.open(r,'douban','toolbar=0,resizable=1,scrollbars=yes,status=1,width=450,height=330'))location.href=r+'&r=1'};if(/Firefox/.test(navigator.userAgent)){setTimeout(x,0)}else{x()}})()"><i class="social-icon-sprite social-icon-douban"></i><span>分享到豆瓣</span></a></li> </ul> '>更多分享</a> </div> </div> <div id="vue_comment"></div>
<script type="application/json" data-name="page-data">{"user_signed_in":false,"locale":"zh-CN","os":"windows","read_mode":"day","read_font":"font2","note_show":{"is_author":false,"is_following_author":false,"is_liked_note":false,"follow_state":0,"uuid":"2a54a476-b4fe-4d7d-adcd-132365df1e3d"},"note":{"id":4976621,"slug":"39c63eff3c36","user_id":851999,"notebook_id":2866991,"commentable":true,"likes_count":94,"views_count":7308,"public_wordage":744,"comments_count":10,"total_rewards_count":1,"is_author":false,"author":{"nickname":"anly_jun","total_wordage":68811,"followers_count":1860,"total_likes_count":2150}}}</script> <script src="//cdn2.jianshu.io/assets/babel-polyfill-676833c6a4d68573b4c3.js" crossorigin="anonymous"></script> <script src="//cdn2.jianshu.io/assets/web-base-3b4a327922f6c3b40878.js" crossorigin="anonymous"></script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
相关文章推荐
- Android App开发技术图谱
- Android App 开发技术图谱
- android 4.4省电技术详解,如何开发一个省电的app
- 《磨砺书店》app项目开发技术点总结(磨砺营马剑威Android)
- Android App 开发技能图谱
- Android App 开发技能图谱
- android 4.4省电技术详解,如何开发一个省电的app
- Android App开发技能图谱
- android 4.4省电技术详解,如何开发一个省电的app
- 转:从零开始开发一款Android App (from 简书)
- 开发一个android app需要的技术
- Android App 开发技能图谱
- Android App 开发技能图谱
- Android开发技术周报--开源库 & App
- 基于地理位置的Android App-我去 开发技术记录(一:结构)
- 用eclipse开发android app,自动补齐时很慢很卡的解决办法(转帖)
- Android开发的技术层次
- Android开发技术之──获取网络图片
- DDMS协助开发Android App(概括性介绍了DDMS,很好,转了过来)