preloadAnim method
缓存动画
anim 动画相对地址
dir 动画存储地址,不传默认使用getAnimCacheDir的地址
缓存结束返回本地文件地址
Implementation
Future<String> preloadAnim({required String anim, String? dir}) async {
try {
final cacheDir = dir ?? await getAnimCacheDir();
if (cacheDir?.isNotEmpty == true) {
String cachePath = "$cacheDir$anim";
File cacheFile = File(cachePath);
bool exists = await cacheFile.exists();
if (!exists) {
await DioManager().download(url: anim, savePath: cachePath, onSuccess: (filePath) {});
exists = await cacheFile.exists();
}
if (exists) {
return Future.value(cachePath);
}
}
} catch (e) {
//do nothing
}
return Future.value("");
// try {
// final cacheDir = dir ?? getAnimCacheDir();
// String cachePath = "$cacheDir$anim";
// File cacheFile = File(cachePath);
// bool exists = await cacheFile.exists();
// if (exists) {
// return Future.value(0);
// } else {
// int startTimeMs = DateTime.now().millisecondsSinceEpoch;
// await DioManager().download(url: anim, savePath: cachePath, onSuccess: (filePath) {});
// int usedTimeMs = DateTime.now().millisecondsSinceEpoch - startTimeMs;
// return Future.value(usedTimeMs);
// }
// } catch (e) {
// return Future.value(-1);
// }
}