Skip to content

Latest commit

 

History

History
531 lines (230 loc) · 9.24 KB

Android.md

File metadata and controls

531 lines (230 loc) · 9.24 KB

Android 知识架构总结 by Jake

1. 数据结构与算法

常用数据结构与算法


2. JVM的理解


3. Java基础知识

Java知识点


4. 设计模式

设计模式


5. Android 知识体系与基础知识

5.1 掌握Android自带的组件与类

5.1.1 四大组件之Activity

5.1.2 四大组件之Service

5.1.3 四大组件之Broadcast

5.1.4 四大组件之ContentProvider

5.1.5 常用组件之Fragment

5.1.6 常用组件之SharedPreference

5.1.7 常用组件之Intent

5.1.8 常用组件之Drawable

5.1.9 常用组件之Handler

5.1.10 常用组件之AndroidManifests.mxl 与权限

5.1.11 常用组件之Animation

5.1.12 常用组件之布局文件

5.1.13 常用组件之Bitmap

5.2 理解Android深层的类与原理

5.2.1 Binder的理解

5.2.2 Context

5.2.3 IPC

5.3 Android 的View

5.3.1 Android 的自带控件

5.3.2 Android 的自定义View 相关

5.3.3 关于SurfaceView

5.3.4 View 的重要知识点

5.3.5 考点

为什么要使用SurfaceView 来做过渡动画?

​ 因为View的绘图存在以下缺陷:

1. View缺乏双缓冲机制
2. 当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片
3. 新线程无法直接更新View组件

invalidate()和postInvalidate() 的区别及使用

http://blog.csdn.net/mars2639/article/details/6650876

5.4 Android 中的多线程

  • Android 中常见的多线程

    • Thread

    • HandlerThread

    • IntentService

    • AsyncTask

    • 线程池

    • Rxjava

5.5 Android 中的存储方式

Android 中原生的存储方式主要有以下几种常用方式

  • SQLite:SQLite是一个轻量级的数据库,支持基本的SQL语法,是常被采用的一种数据存储方式。 Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的api
  • SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。
  • File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。
  • ContentProvider: Android系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

5.6 Android 中的相机与相册

  • 调用Android中的照片

    [Android 相机相册调用](./Android_Camera & Gallery.md)

5.7 Android 中的序列化

5.10 Android 的细节注意点

  1. 全局异常处理

    https://blog.csdn.net/import_sadaharu/article/details/82389151

  2. ANR

  3. Lint

  4. AOP


6.Android进阶知识点

6.1 Adroid 开发的优化

  • 应用的内存优化

  • 应用的启动时间优化

  • 应用安装包Size 的裁剪

  • 应用的多机型适配

  • 电量的优化

  • Android 中的内存泄露

  • Android 进程的保活

    进程保活的方法

  • Android 中的图片加载优化

    图片加载优化,我们会常听到三级缓存这个方式, 那什么是三级缓存呢?

    三级缓存

    • 网络加载,不优先加载,速度慢,浪费流量
    • 本地缓存,次优先加载,速度快
    • 内存缓存,优先加载,速度最快

    三级缓存的原理

    • 首次加载 Android App 时,肯定要通过网络交互来获取图片,之后我们可以将图片保存至本地SD卡和内存中
    • 之后运行 App 时,优先访问内存中的图片缓存,若内存中没有,则加载本地SD卡中的图片
    • 总之,只在初次访问新内容时,才通过网络获取图片资源

    网络图片的加载 以及LRU


6.2 Android 的开发模式理解

  • MVC

  • MVP

  • MVVM


6.3 Android 的开源框架


6.4 Android 的应用发布流程


6.5 Android 运行原理

[Android运行原理](./Android 的各种过程.md)


6.6 Android 前沿知识点

  • 热修复
  • Rxjava+Retrofit
  • git
  • gradle
  • databinding

6.7 Android 推送方案

https://www.cnblogs.com/Joanna-Yan/p/6241354.html


6.8 Android 的零碎知识点

  • keystore
  • 实现倒计时的方式
  • 实现沉浸式状态栏
  • downloader (关于多线程断点续传)
  • Android 5.0 6.0 7.0 8.0 9.0 的特性
  • Dalvik 与 ART 的区别

7. 网络协议相关

8. 其他相关能力

8.1 项目总结

  • 多渠道打包
  • gradle 的细节

8.2 面试技巧

8.3 编程技巧

9 Kotlin

Kotlin相关知识点