Android http 请求 Json数据缓存到内存

package com.innjoo.store.cache;
import com.ferris.utils.StringUtils;
import android.support.v4.util.LruCache;
/**
 * 
 * @ClassName: LruJsonCache json缓存类
 * @Description: TODO
 * @author 重播
 * @email [email protected]
 * @date 2014-12-27 下午5:33:49
 * @csdn blog.csdn.net/xufeifandj
 */
public class LruJsonCache {
	private LruCache<String, String> mMemoryCache;

	public LruJsonCache() {
		int maxMemory = (int) Runtime.getRuntime().maxMemory() / 10;
		mMemoryCache = new LruCache<String, String>(maxMemory) {
			@Override
			protected int sizeOf(String key, String value) {
				return value.length();
			}
		};
	}

	/**
	 * 
	 * @Title: addJsonToMemoryCache
	 * @Description: TODO 添加json内存
	 * @return void
	 */
	public void addJsonToMemoryCache(String key, String jsonString) {
		if (mMemoryCache == null) {
			return;
		}
		if (StringUtils.isEmpty(key)) {
			return;
		}

		if (getJsonFromMemCache(key) == null && jsonString != null) {
			mMemoryCache.put(key, jsonString);
		}
	}

	/**
	 * 从内存缓存中获取一个Json
	 * @param key
	 * @return
	 */
	public String getJsonFromMemCache(String key) {
		if (mMemoryCache == null) {
			return null;
		}
		return mMemoryCache.get(key);
	}
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。