1)android -volley中存在的基于光盘的缓存的默认实现被分配了5MB的总内存。
2)但我开发的应用程序包含很多图像。所以我想增加基于光盘的缓存分配的内存大小。
3)所以我想增加缓存的大小。我可以通过更改Diskbasedcache.java文件中的DEFAULT_DISK_USAGE_BYTES值来简单地做到这一点。
4)但是我想根据光盘中可用的空间量来分配内存?有没有办法实现它?
答案 0 :(得分:3)
关于Volley缓存的一些想法:
使用基于磁盘的L1缓存可能会导致i / o阻塞问题。 Volley已经有一个隐含的磁盘L2缓存。 BitmapLruImageCache 是内存缓存实现中基本的“最近最少使用的”。它速度快,不会阻止I / O.这是推荐的方法。
我建议你玩这个L1 cache for Volley
调整大小看看:
RequestQueue volleyQueue = Volley.newRequestQueue(this);
DiskBasedCache cache = new DiskBasedCache(getCacheDir(), 16 * 1024 * 1024);
volleyQueue = new RequestQueue(cache, new BasicNetwork(new HurlStack()));
volleyQueue.start();
参考:Volley cache 关于凌空缓存的其他参考http://www.jayway.com/2013/10/04/image-caching-with-volley/