-
Activity 详解
-
Service 知识点
-
BroadCast 详解
-
ContentProvider 详解
-
Fragment 详解
-
SharedPreference 的功能
-
Intent 与 IntentFilter
-
常见问题
如何在短信中启动一个Activity
-
Drawable 的相关知识点
-
Handler 作用与原理
-
关于getMainLooper
-
AndroidManifest 的重要标签和属性
-
Android 中的 权限问题
-
Android中的动画
- 常用ViewGroup 布局
-
LinearLayout
-
RelativeLayout
-
FrameLayout
-
ConstaintLayout
-
-
Bitmap 知识点
-
Binder 的知识点
-
Android Context 的理解
-
IPC 知识点
-
WebView
-
RecyclerView
-
Viewpager
-
关于自定义View
-
SurfaceView 的知识点
-
ViewDragHelper
-
坐标系统
-
Scroller
-
关于View 的可见性
为什么要使用SurfaceView 来做过渡动画?
因为View的绘图存在以下缺陷:
1. View缺乏双缓冲机制
2. 当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片
3. 新线程无法直接更新View组件
invalidate()和postInvalidate() 的区别及使用
http://blog.csdn.net/mars2639/article/details/6650876
-
Android 中常见的多线程
-
Thread
-
HandlerThread
-
IntentService
-
AsyncTask
-
线程池
-
Rxjava
-
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来对数据进行操作。
-
调用Android中的照片
[Android 相机相册调用](./Android_Camera & Gallery.md)
-
Android 中的序列化
-
全局异常处理
https://blog.csdn.net/import_sadaharu/article/details/82389151
-
ANR
-
Lint
-
AOP
-
应用的内存优化
-
应用的启动时间优化
-
冷启动的优化
-
-
应用安装包Size 的裁剪
-
应用的多机型适配
-
电量的优化
-
Android 中的内存泄露
-
Android 进程的保活
-
Android 中的图片加载优化
图片加载优化,我们会常听到三级缓存这个方式, 那什么是三级缓存呢?
三级缓存
- 网络加载,不优先加载,速度慢,浪费流量
- 本地缓存,次优先加载,速度快
- 内存缓存,优先加载,速度最快
三级缓存的原理
- 首次加载 Android App 时,肯定要通过网络交互来获取图片,之后我们可以将图片保存至本地SD卡和内存中
- 之后运行 App 时,优先访问内存中的图片缓存,若内存中没有,则加载本地SD卡中的图片
- 总之,只在初次访问新内容时,才通过网络获取图片资源
网络图片的加载 以及LRU
-
MVC
-
MVP
-
MVVM
-
注解IOC框架
-
网络OKHttp 框架
-
图片加载框架
- Fresco
- Glide
-
数据库框架
-
Realm
-
GreenDao
-
-
消息机制框架 EventBus
-
布局框架
- vlayout
-
内存监控
-
LeakCanery
-
-
Lottie
[Android运行原理](./Android 的各种过程.md)
- 热修复
- Rxjava+Retrofit
- git
- gradle
- databinding
https://www.cnblogs.com/Joanna-Yan/p/6241354.html
- keystore
- 实现倒计时的方式
- 实现沉浸式状态栏
- downloader (关于多线程断点续传)
- Android 5.0 6.0 7.0 8.0 9.0 的特性
- Dalvik 与 ART 的区别
-
网络协议相关知识点
- 多渠道打包
- gradle 的细节
-
关于位运算
-
关于正则表达式
https://blog.csdn.net/bobo89455100/article/category/6604866/2?orderby=UpdateTime
-
关于架构设计
-
关于测试