2010-02-01 115 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