2010-02-01 81 views
27

我对android中的缓存目录有一些疑问。限制缓存目录的大小

  1. 有谁知道每个应用程序的缓存目录的限制?

  2. 另外如果没有足够的磁盘空间来缓存数据会发生什么?我所知道的是,当设备的存储空间不足时,这里的文件(缓存目录)将被首先删除,并且每个应用都有自己的缓存目录。现在,当没有足够的存储空间时,其他应用程序缓存目录的文件是否会被清除以适应我的应用程序在缓存目录中添加文件的请求?

回答

42

缓存目录没有每应用程序限制。虽然Linux has a quota subsystem built-in,但它并未被Android使用。应用程序共享缓存文件系统,没有任何实际限制。当它填满时,Device Storage Monitor发送一个ACTION_DEVICE_STORAGE_LOW广播并调用Package Manager Service的方法,该方法向安装守护进程发送“freecache”命令。然后installd进程遍历高速缓存目录deleting files without regard to the owning application or modification date,直到可用空间量超过某个阈值。

+2

您提到“缓存目录”。是不是每个应用程序都有自己的缓存目录?还是你指的是我不知道的另一个(全球)? – Matthias 2010-11-02 11:14:53

+0

有没有什么方法可以让Android浏览并删除缓存文件,还是仅仅删除它所涉及的第一个文件? – StuStirling 2014-08-19 14:32:17

+0

链接无法正常工作 – 2016-03-07 05:37:27