自己项目中一直都是用的开源的xUtils框架,包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模块,这四大模块都是项目中比较常用的。最近决定研究一下xUtils的源码,用了这么久总得知道它的实现原理吧。我是先从先从BitmapUtils模块开始的。BitmapUtils和大多数图片加载框架一样,都是基于内存-文件-网络三级缓存。也就是加载图片的时候首先从内存缓存中取,如果没有再从文件缓存中取,如果文件缓存没有取到,就从网络下载图片并且加入内存和文件缓存。
这篇帖子先分析内存缓存是如何实现的。好吧开始进入正题。
Android高级知识点
一、Android性能优化
1.描述一下android的系统架构?
2.Android线程间通信有哪几种方式
3. 如何避免OOM异常
4.Android程序运行时权限与文件系统权限的区别?
5.Hybrid 通信原理是什么,有做研究吗?
6.Framework工作方式及原理,Activity是如何生成一个view的,机制是什么
7.ANR是什么?怎样避免和解决ANR
8.Devik进程,linux进程,线程的区别
9.卡顿 {如何检测卡顿,卡顿原理是什么,怎么判断页面响应卡顿还是逻辑处理造成的卡顿} ,BlockCanary 的原理
二、Android热修复、插件化、组件化
1.谈谈对 ClassLoader 的理解
2.自定义 ClassLoader
3.插件化为什么会出现,如何代码加载,资源加载