Android开发进阶之路

不知觉中工作已过7载,项目闲暇之余,忽想给自己一个定位,看到大牛们对程序员的分类:初级程序员,中级程序员,高级程序员,技术专家,
CTO,想把自己定位为高级程序员,发现少了一些自信,定位为中级程序员又觉得丢人,于是乎临时抱佛脚的想法油然而生,梳理了一下Android开发的知识点准备进行恶补,关键在于知识的深度,知识广度在于平时游荡于各种论坛,人人都是产品经理之类,慢慢积累吧,知识的深度体现了作为一个技术人对技术的热爱程度,不爱编程的肯定对技术的深度有所欠缺,需要激情的,兄弟,要耐得住寂寞.....

什么时候废话这么多了,言归正传,以下提纲实为冲动所想,深入学习之后会有所调整,Android基础就不列出了,不会在偷偷恶补吧(怕丢人)。搞技术的是不是都很好面子?

1、进程之间的实例共享,单例,静态变量等。源于项目中的一个大大的错误,虽然没有报严重错误,但是感到羞耻,有必要深入研究;

2、Android多线程实现方式:
2.1. Android自身提供的方式

  • Handler,Messager,Looper
  • AsyncTask
  • Activity.runOnUIThread(Runnable)
  • View.post() View.PostDelay
  • Loader

2.2. 第三方实现的框架

  • RxJava/RxAndroid

3、Android进程间通信
3.1. Android自身提供的实现方式

  • AIDL
  • Binder

3.2. 第三方框架

  • EventBus
  • Hermes
  • HermesEventBus

4、图片加载缓存
4.1. Android提供的实现方式

  • LruCache

4.2. 第三方框架

  • ImageLoader
  • Glide
  • Fresco
  • Picasso

5、HTTP框架

  • HTTPURLConnection
  • HTTPClient
  • OKHTTP
  • Volley
  • AsyncHttpClient
  • Xutils
  • Afinal
  • Retrofit

6、Android动画原理

  • Frame Animation
  • Tween Animation
  • Property Animation
  • Activity切换动画
  • ViewPager等页面切换动画
  • ViewGroup子View加载动画LayoutAnimation
  • 自定义View动画(github)
  • openGL
  • SurfaceView

7、自定义View方式

  • 组合控件
  • 自绘控件View.onDraw()
  • 继承现有控件

8、内存优化回收
9、Android常用设计模式

  • MVC
  • MVP
  • MVVC

10、Android Framework

  • AMS
  • PMS
  • Camera框架
  • Audio框架

11、开发工具

  • Android Studio
  • Eclipse
  • IDEA
  • Ant
  • maven
  • gradle
  • svn
  • git

12、Java

  • Java容器,算法
  • Java并发
  • Effective Java
  • Java虚拟机
  • 常用设计模式
  • 反射(利器)

13、web开发

  • HTML
  • AJAX
  • CSS
  • JavaScript
  • Json(Gson什么鬼)
  • xml
  • Spring
  • Apache
  • Tomcat
  • Jboss
  • nginx

14、脚本开发

  • python

15、JNI

16、Android apk相关知识

  • 签名
  • 打包
  • apk压缩(图片,so,代码)
  • 混淆

17、代码质量

18、IT基础知识

  • 计算机网络
  • 操作系统
  • 数据加密(公钥加密,证书……)
  • 数据库(sqlite,mysql)

19、再写就要转行了,以后再补充吧…….

不要重复造轮子,醒醒吧少年,你连高级程序员都没自信,研究透上面那些技术先。

不自信的程序员
2016-12-27