Android 开发学习笔记(一) LRU 算法的使用
来源:互联网 发布:apache ant jar包 编辑:程序博客网 时间:2024/06/01 09:01
Android 开发学习笔记(一) LRU算法的使用
- 关于LRU的定义:
LRU是Least Recently Used 近期最少使用算法。是一种置换算法,
百度百科是这么介绍的:内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
- 在Android中的应用:Android提供了LruCache 类来 实现Android缓存的lru算法;
- 在Android中显示单个图片,加载单个网络图片是比较简单的,而多个图片同时加载时,就会变的比较复杂,比如ListView,GridView等控件,一般处理的方式有多线程加载(使用Thead + handle)的方式,还有异步加载(AsyncTask)。要提高体验度可以使用Lru算法,做缓存的处理。
- 使用方法;
- 翻看源码可以看出 LruCache类是使用的 LinkedHashMap<K, V> map;来实现缓存的,所以存取的用法基本与map类似;
private LruCache<String ,Bitmap> caches;//初始化 LruCache public void init LruCache(){ //获取运行时的内存, int maxMemory = (int) Runtime.getRuntime().maxMemory(); //取 内存的1/4 作为缓存的大小; int cacheSize = maxMemory / 4;caches = new LruCache<String, Bitmap>(cacheSize){ @Override protected int sizeOf(String key, Bitmap value) { return value.getByteCount(); }}; }//存public void addBitmap(String url,Bitmap bitmap){if(caches.get(url) == null){caches.put(url,bitmap);}}//取public Bitmap getBitmap(String url){return caches.get(url);}
0 0
- Android 开发学习笔记(一) LRU 算法的使用
- 说说Android LRU缓存算法实现学习笔记(一)
- 说说Android LRU缓存算法实现笔记(二)--LRU的应用
- Android使用LinkedHashMap实现一个LRU算法的内存缓存
- 学习笔记1:c++实现LRU算法
- 使用LRU算法缓存图片,android 3.0
- Android游戏开发学习笔记(一)
- Android开发新手学习笔记(一)
- Android 开发学习笔记 (一)
- Android开发学习笔记(一)
- Android开发学习笔记--基础知识(一)
- Android开发秘籍学习笔记(一)
- Android开发学习笔记(一)
- Android学习笔记-NDK开发(一)
- 课堂笔记:LRU的改进算法LIRS
- Android开发学习笔记《一》
- 【python学习笔记】3:LRU(最近最少使用页面置换)算法
- android学习笔记一(ListView的使用)
- 欢迎使用CSDN-markdown编辑器
- [投资日记] 2016-11-16
- 如何在WinSCP远程连接服务器里,删除该账户没有权限删除的文件
- 【Nginx的坑】nginx反向代理proxy_set_header自定义header头无效的问题
- iOS UIContentViewMode各种效果 可解决相册照片的拉伸
- Android 开发学习笔记(一) LRU 算法的使用
- Android 动画完全解析
- RobotFrameWork(三)数据类型
- pod常见的问题
- android:screenOrientation详解
- 【模板】字典树
- 可能是最接近微信朋友圈的图片压缩算法
- 【UNITY资料】UNITY多语言化Localtion的工具 I2 Localization2.6.5 资料教程(一)
- 33. Search in Rotated Sorted Array