Java-Android对象池
2016-06-07 00:00
225 查看
摘要: 最近的Android项目里面需要频繁的添加/删除列表元素,导致了对象的频繁创建难以管理,所以抽空实现了对象池技术,使用起来很简单
最近的Android项目里面需要频繁的添加/删除元素,导致了对象的频繁创建且难以管理,所以抽空实现了对象池技术,使用起来很简单。
一共就三个类,CacheObject,CacheObjectContainer,CacheObjectManager。
CacheObject用来包装真实的对象,里面有一个布尔值,代表该对象是否被使用中。
CacheObjectContainer本质上就是缓存某种类型的对象列表。
CacheObjectManager提供外部接口,所有的获取对象,释放对象,销毁对象的接口都在该类中实现。
简单介绍下使用方式:
比如:
class A{}
class B{}
我们获取A的对象时,直接使用CacheObjectManager.getDefault().getObject(A.class)即可获取到对象,不用自己创建。 程序内部会自动检索是否有空闲的对象,如果有空闲的对象就返回空闲的对象,否则就创建一个新的对象返回。
不用的时候,使用CacheObjectManager.getDefault().release(a)即可把对象还给对象池。被返回的对象就是空闲的了,供下一次使用。
确定以后不再使用时,可以使用
即可删除所有A类型的对象缓存。
github地址:https://github.com/Freshman585/object-pool
最近的Android项目里面需要频繁的添加/删除元素,导致了对象的频繁创建且难以管理,所以抽空实现了对象池技术,使用起来很简单。
一共就三个类,CacheObject,CacheObjectContainer,CacheObjectManager。
CacheObject用来包装真实的对象,里面有一个布尔值,代表该对象是否被使用中。
CacheObjectContainer本质上就是缓存某种类型的对象列表。
CacheObjectManager提供外部接口,所有的获取对象,释放对象,销毁对象的接口都在该类中实现。
简单介绍下使用方式:
比如:
class A{}
class B{}
我们获取A的对象时,直接使用CacheObjectManager.getDefault().getObject(A.class)即可获取到对象,不用自己创建。 程序内部会自动检索是否有空闲的对象,如果有空闲的对象就返回空闲的对象,否则就创建一个新的对象返回。
[code=language-java]CacheObjectManager.getDefault().getObject(A.class)
不用的时候,使用CacheObjectManager.getDefault().release(a)即可把对象还给对象池。被返回的对象就是空闲的了,供下一次使用。
[code=language-java]CacheObjectManager.getDefault().release(a)
确定以后不再使用时,可以使用
[code=language-java]CacheObjectManager.getDefault().destory(A.class)
即可删除所有A类型的对象缓存。
github地址:https://github.com/Freshman585/object-pool
相关文章推荐
- Android MD5工具类
- 利用Android TimePicker 和 DatePicker 实现对时间的限制
- Android studio 下载地址
- Android启动界面的实现
- Android提取安装的apk文件
- android中的layout_weight的含义
- Android加载动画系列——WaterBottleLoading
- Android中关于线性布局基线对齐
- Android【封装】多线程下载以及断点续传
- android studio 不翻墙更新SDK
- Glide图片加载库的使用
- Android开发笔记之ViewPager+Fragment简单列子的实现
- Spray项目告成记--Too young too simple
- Android jni字符串如何加密
- android studio R文件有问题
- android 制作9.png图片
- Android 基础总结:( 十七)线程和进程
- Android的线程和线程池
- Android drawable基本概念
- DatePicker和TimePicker的简单使用