Android 知识梳理(进阶)

Android 知识梳理(进阶)_第1张图片

前言

该为文章为个人知识梳理后的产物(不断更新)。主要目的是为了让知识更系统,更加模块化。适合有Android开发经验,但是未进行过系统整理知识的读者,可以参照思维导图去对知识进行查缺补漏。下文将对思维导图进行部分补充:

需重点掌握

  • 四大组件相关
  • 数据库框架
  • 性能优化系列
  • 自定义View
  • 属性动画
  • 组件间通信
  • Handler机制(原理)
  • 网络框架:retrofit、okhttp
  • 图片加载、处理框架:Glide、Fresco
  • MVP

超链接

脑图中相关知识点超链:

  • Activity四种启动模式: standard、singleTop、singleTask、singleInstance
  • 常见数据库框架:OrmLite、GreenDao3.2、LitePal、Realm
  • 优化专栏推荐
  • 性能优化 基本概念
  • App启动优化
  • 事件分发
  • 进程间通信
  • 阿里Android热修复技术原理
  • gradle专栏
  • 反编译

备注

性能优化

  • 堆 : 存储类对象(成员变量);空间大但不连续;易存在内存碎片
  • 栈 : 存储函数(局部变量);空间小但连续,且运算速度快(内置处理器);栈为先进后出
  • 四大引用 : 强引用 > 弱引用 > 软引用 > 虚引用
  • 内存泄露 : 内存泄漏 当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用,从而就导致对象不能被回收。
  • GC : (1)发现无用的信息对象;(2)回收将无用对象占用的内存空间
  • 绘制原理
    负责包括Measure,Layout,Record,Execute的计算操作,GPU 负责Rasterization(栅格化)操作。
    XML布局文件需要在CPU中首先转换为多边形或者纹理,然后再传递给GPU进行格栅化,
    而以上的这些操作需要保证在16ms内完成,才能保证屏幕看起来是流畅的。
  • 电池优化
    Android系统上App的电量消耗主要由cpu、wakelock、数据传输(流量和wifi)、wifi运行、gps、other senior组成,而耗电异常也是由于这几个模块的使用不当。

UI

  • 自定义View
    • 测量——onMeasure():决定View的大小
    • 布局——onLayout():决定View在ViewGroup中的位置
    • 绘制——onDraw():如何绘制这个View。
  • MeasureSpec
    • EXACTLY:一般是设置了明确的值(100dp)或者是MATCH_PARENT
    • AT_MOST:表示子布局限制在一个最大值内,一般为WARP_CONTENT
    • UNSPECIFIED:表示子布局想要多大就多大,很少使用

常见设计模式

执行参考:例如保证 类代码行数不超过400,函数行数不超过20
- Builder设计模式,如AlertDialog
- 适配器模式,如GridView、ListView与Adapter
- 工厂模式,如BaseActivity
- 观察者模式,如ContentObserver
- 命令模式,如Handler.post

你可能感兴趣的:(安卓学习笔记,知识梳理,Android进阶)