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插件使用)

更多相关文章

  1. Android(安卓)网络编程 目录
  2. Android编程: MVC模式、应用的生命周期
  3. Android(安卓)UI设计技巧总结归纳
  4. android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别
  5. Android(安卓)Activity 的四种启动模式 lunchMode 和 Intent.set
  6. [Android(安卓)实例教程] Android,谁动了我的内存
  7. 值得推荐的Android应用性能检测工具列表(转)
  8. Android深色模式适配-想法1.0
  9. Android(安卓)设置横屏模式显示

随机推荐

  1. Android中Broadcast简介与使用
  2. Android 屏幕旋转生命周期以及处理方法
  3. Android SDK Content loader has encount
  4. 5个最佳Android测试框架
  5. android Handler更新UI
  6. Android常用图片加载库介绍及对比
  7. android中查看端口占用
  8. 将tensorflow训练好的模型移植到android
  9. android 手势操作 滑动效果 触摸屏事件处
  10. Android(安卓)判断应用 第一次启动