我对android中的缓存目录有一些疑问。
有没有人知道每个应用的缓存目录的限制?
如果没有足够的磁盘空间来缓存数据,会发生什么?我所知道的是当设备在存储时运行不足时,这里的文件(缓存目录)将首先被删除,每个应用程序都有自己的缓存目录。现在,当没有足够的存储空间时,是否会清除其他应用程序缓存目录的文件以适应我的应用程序在缓存目录中添加文件的请求?
答案 0 :(得分:44)
缓存目录没有每个应用程序限制。在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,直到可用空间量超过某个阈值。