Android常见知识汇总

Android常见知识汇总

1、Android常见设计模式

  • 观察者模式
  • 适配器模式
  • 代理模式
  • 工厂模式
  • 单例模式
  • 命令模式

相关博客

  • Android 常用设计模式(一)
  • Android常用设计模式(二)
  • 14种常用设计模式
  • 常用设计模式汇总

2、Android消息机制(Handler、Looper、Message、MessageQueue)

Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层MessageQueue和Looper的支撑。MessageQueue是采用单链表的数据结构来存储消息列表。 Looper会以无限循环的形式去查看是否有新消息,如果有就处理消息,否则就一直等待。ThreadLocal可以在不同线程中互不干扰的存储并提供数据,通过ThreadLocal可以轻松的获取每个线程的Looper。

问题:

  • Android中消息机制是如何工作的
  • 子线程中可以直接new Handler嘛
  • 了解HeadlerThread嘛

相关博客

  • Android的消息机制
  • Android中Thread、Handler、Looper、MessageQueue的原理分析
  • Android HandlerThread 完全解析

3、Android动画

  • Tween Animation(补间动画)
  • Frame Animation(逐帧动画,也称Drawable Animation )
  • Property Animation(属性动画)

知识

  • 属性动画兼容库 NineOldAdroid
  • 几种动画的区别

相关博客

  • 官方文档
  • Android动画,一篇就够

4、常见的内存泄漏、定位和优化方法

  • 单例造成的内存泄漏
  • 非静态内部类创建静态实例造成的内存泄漏
  • Handler造成的内存泄漏
  • 线程造成的内存泄漏
  • 资源未关闭造成的内存泄漏

工具

1、leakcanary
2、Android Monitor

blog、文档

  • Android性能优化之常见的内存泄漏
  • 纪喜才:Android应用程序内存管理优化.pptx
  • 常见的八种导致 APP 内存泄漏的问题

5、常用算法

  • 冒泡算法
  • 快速排序
  • 归并排序
  • 选择排序
  • 堆排序
  • 希尔排序

相关博客

  • Java常见排序算法
  • 必须知道的八大种排序算法【java实现】
  • 视觉直观感受 7 种常用的排序算法

6、Android设计架构

  • MVC
  • MVP
  • MVVM

相关博客

  • Android App的设计架构:MVC,MVP,MVVM与架构经验谈
  • 你对MVC、MVP、MVVM 三种组合模式分别有什么样的理解?

7、Android触摸事件

  • 1、了解dispatchTouchEvent 、onTouchEvent 、onInterceptTouchEvent 等工作原理
  • 2、了解Android Gesture

相关博客

  • Android事件分发机制完全解析,带你从源码的角度彻底理解
  • 图解 Android 事件分发机制
  • Android 触摸及手势操作GestureDetector

8、Android自定义View

相关博客

  • Android自定义View的实现方法,带你一步步深入了解View(三) 。
  • Android 自定义View (一)
  • 自定义View,有这一篇就够了

9、Dalvik、ART、JVM

Android runtime (ART)

ART才用ahead-of-time预编译功能,能够提升app的性能。而且ART也有比Dalvik更严格的安装时权限验证。
安装时,ART使用dex2oat工具编译应用,这个工具能够接受DEX文件并生成可执行的机器码,ART可以很容易的编译有效的DEX文件,但是并不能像Dalvik一样可以容忍一下无效的DEX文件。

优势

  • 提高GC的性能
  • 提升开发与调试的效率
  • 支持更多的调试功能
  • 提供更详细的Exception和Crash诊断报告

相关博客

  • Android 中的Dalvik和ART是什么,有啥区别

其他

  • React Native
  • Weex
  • JNI
  • Android JNI编程—JNI基础

常用第三方库

  • RxJava、RxAndroid
  • Retrofit
  • OkHttp
  • Glide
  • GreenDao
  • Butterknife
  • Android Design
  • Stetho(facebook提供数据库在线调试工具,配合chrome插件使用)

你可能感兴趣的:(技术之路,学习笔记)