cacheInfo property

CacheInfo cacheInfo

统计缓存信息

Implementation

CacheInfo get cacheInfo {
  List<FileSystemEntity> list = directory.listSync();
  if (list.length > 1000)
    return CacheInfo(
      cacheCount: list.length,
      cacheLength: -1,
    );
  var fileList =
      list.where((element) => element is File).toList().cast<File>();
  if (r'_$LocalCacheImage.image' == channel) {
    var dList = list
        .where(
          (element) => element is Directory,
        )
        .toList()
        .cast<Directory>();
    for (var d in dList) {
      var list = d
          .listSync()
          .where((element) => element is File)
          .toList()
          .cast<File>();
      // print(list);
      fileList.addAll(list);
    }
  }
  var count = 0;
  for (var file in fileList) {
    count += file.lengthSync();
  }
  return CacheInfo(
    cacheCount: fileList.length,
    cacheLength: count,
  );
}