今天面试被提到缓存技术我头脑木了。
以前写的缓存都是存入到内存卡里,然后再读出来比如这样:
final Bitmap bm = BitmapFactory.decodeStream(is, null, ops);
if (FileUtils.isHasSD()) {
try {
File cache = new File(FileUtils.FILE_CACHE);
if (cache.isFile()) {
cache.delete();
}
if (!cache.exists()) {
cache.mkdir();
}
OutputStream stream = new FileOutputStream(FileUtils.FILE_CACHE + "/sdtCard_cache.jpg");
bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
} catch (Exception e) {
e.printStackTrace();
}
}
- 好了存储这就写完了。
- 然后就可以读取了。
//这里就可以得到需要的图片,只要地址就可以FileUtils.File_cache
Bitmap bitmap= BitmapFactory.decodeFile(FileUtils.FILE_CACHE + "/sdtCard_cache.jpg");
- 字符数据用SharePreferences 进行缓存
preferences=context.getSharedPreferences("shareInfo",Context.MODE_PRIVATE);
editor = preferences.edit();
editor.putString("token",token);
editor.commit();
- 就这么简单。就完成了。额额额。除了这些以外还有什么缓存的技术呢?
好了在我死之前,一定要弄懂缓存到底是什么!
缓存 锁定
本词条由“科普中国”百科科学词条编写与应用工作项目 审核 。
缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。
因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。
百度词条 http://baike.baidu.com/link?url=3VpsP0srAlfrqA0dCOzOlPcnI6tmfE1h9o8brhJZjkYwqUE1_CMi_CvFR7YSKg8UvZ8EDrod70GLtA9nOWVapq>
好了作为不入流的程序员。已经把缓存定义百度了一下。 制造一级缓存,也就内存缓存,下载的内容到内存中,恩,很简单把下载的图片放进 Map