整理一些Android开发的知识点

基础

  1. 数据结构
    常见的容器的使用,时间,空间效率,优缺点。
    比如 LinkedList,ArrayList区别、HashMap/TreeMap/LinkedHashMap区别。
  有C语言基础的话,可以阅读 <数据结构与算法分析—C语言描述>这本
  1. 设计模式
    常见的设计模式及适用场景。 单例、Builder、原型、工厂、策略、状态、责任链、命令、观察者等等,设计模式是通用的,Android的SDK里面都有体现
  有C语言基础的话,可以阅读 <设计模式 可复用面向对象软件的基础>这本

平台相关

  1. Android系统
    设计思想(比如 为什么有Activity,Task栈)、安全策略、进程调度方式、系统稳定性
    Android应用程序开发以及背后的设计思想深度剖析
  2. Android的Framework
    例如 Binder和AIDL运行原理、WindowManager和View的渲染流程、ActivityManagerService等等
   网上很多讲这些的技术博客
  1. 一些常见的App架构
    MVC/MVP/MVVM,数据绑定等概念

  2. 一些开源库的实现
    RxJava、Retrofit、Glide/ImageLoader等开源库的实现,有些不用太关注具体的代码,看整体的结构和分层及实现方式(注解)。
    开源库列表参考 Android 通用流行框架大全

相关的东西很多、很杂,不用想着一次能系统的看完,能做到每天看一点,就很好了。

后记

为什么要了解那么多的原理?

是因为大多数人的能力早就过了实现功能的初级阶段了。当业务复杂到一定程度,良好的可维护的代码结构、性能优化和内存优化才是重点。往往都是那么一点点优化和一个Bug却需要花很多的时间,理解原理有助于提高自己解决这些问题的能力。

你可能感兴趣的:(整理一些Android开发的知识点)