前言
采用内存缓存和磁盘缓存,做好数据缓存可以很大程度优化执行时间
缓存主要包括
- 对象缓存:对象缓存能减少内存的分配
- IO缓存:IO缓存减少磁盘的读写次数
- 网络缓存:网络缓存减少网络传输
- DB缓存:DB缓存较少Database的访问次数
在内存、文件、数据库、网络的读写速度中,内存都是最优的。所以尽量将需要频繁访问或访问一次消耗较大的数据存储在缓存中
Android中常使用缓存
- 线程池
- Android图片缓存,Android图片Sdcard缓存,数据预取缓存
-
消息缓存
通过handler.obtainMessage复用之前的message,如下: handler.sendMessage(handler.obtainMessage(0, object));
- ListView缓存
- 网络缓存
- 数据库缓存http response,根据http头信息中的Cache-Control域确定缓存过期时间。
- 文件IO缓存:使用具有缓存策略的输入流,对文件、网络IO皆适用
- BufferedInputStream替代InputStream
- BufferedReader替代Reader
- BufferedReader替代BufferedInputStream
- layout缓存
- 其他需要频繁访问或访问一次消耗较大的数据缓存