今天需求做一个防抖功能类,需要做一个容器来保存被拦截的数据,原本是用LIst循环查找数据,然后觉得数据多了以后遍历肯定不如map.get方法性能好.然后把List换成了Map,但是又怕其他人用这个类的时候数据量太大,导致Map中数据量爆炸,就需要限制一下map的大小.
默认场景为单个Activity中点击,除非有超过200个点击事件,且能在默认1000毫秒内都触发一遍,不然map的size200足矣了.
Map<String, Long> map = new LinkedHashMap<String, Long>() {
@Override
protected boolean removeEldestEntry(Entry<String, Long> pEldest) {
return size() > 200;
}
};
