Skip to content

Files

Latest commit

c93baab · Sep 28, 2017

History

History
26 lines (24 loc) · 1.13 KB

data_cache.md

File metadata and controls

26 lines (24 loc) · 1.13 KB

data-mediator数据缓存详解

  • 数据缓存: 使用缓存池,反复利用对象。

  • 缓存好处: 在某些大对象数据多的情况下,避免内存抖动和反复gc.

  • 使用步骤:

    • 1), 用注解标识缓存个数。eg:
    @Fields(value = {
        @Field(propName = "name", seriaName = "heaven7", type = String.class),
        @Field(propName = "data", seriaName = "result", type = ResultData.class),
     }, maxPoolCount = 100) //最多缓存100个
     public interface TestBind extends Parcelable{
     }
    • 2), 如何获取对象? 使用 DataMediatorFactory 获取, eg:
    StudentModule result = DataMediatorFactory.obtain(StudentModule.class);
    • 3), 如何回收对象? 使用 生成的实体数据对象。 比如StudentModule
    StudentModule result = ....; //必须是真正的数据。代理层如果调用会报异常.
    result.recycle();
    • 4), ps: 数据回收之后。请不要再保持引用这个对象,除非重新obtain(因为所有属性将会回归初始状态)。
  • 本框架数据缓存。 线程安全么? 答: 必须线程安全的