当我一直在使用Flutter开发应用程序时,我发现应用程序的大小很大,而且它使用了大量的空间作为应用程序数据和应用程序缓存。有什么方法可以通过编程方式清除应用程序缓存吗?编辑:我的应用在发布模式下的大小约为7mb,应用数据约为11mb。我的应用在应用中打开一个网站,它还可以播放在线广播,所以它的应用数据还在不断增加
yks3o0rb1#
您可以获取临时文件夹,并删除其中的文件。
var appDir = (await getTemporaryDirectory()).path; new Directory(appDir).delete(recursive: true);
swvgeqrz2#
您还可以使用use flutter_cache_manager以编程方式删除或移除应用的缓存。安装flutter_cache_manager后,使用以下命令:
flutter_cache_manager
await DefaultCacheManager().emptyCache();
z3yyvxxp3#
它正在工作,您只需在此之后刷新应用程序。
import 'package:path_provider/path_provider.dart'; Future<void> _deleteCacheDir() async { var tempDir = await getTemporaryDirectory(); if (tempDir.existsSync()) { tempDir.deleteSync(recursive: true); } } Future<void> _deleteAppDir() async { var appDocDir = await getApplicationDocumentsDirectory(); if (appDocDir.existsSync()) { appDocDir.deleteSync(recursive: true); } }
djmepvbi4#
关于文森特回答的注解。尽量避免清除设备的临时文件夹。清除应用程序的缓存文件夹将是一个保护程序,如:
var appDir = (await getTemporaryDirectory()).path + '/<package_name>'; new Directory(appDir).delete(recursive: true);
eimct9ow5#
您可以轻松删除缓存。
import 'package:path_provider/path_provider.dart'; Future<void> _deleteCacheDir() async { final cacheDir = await getTemporaryDirectory(); if (cacheDir.existsSync()) { cacheDir.deleteSync(recursive: true);}} final appDir = await getApplicationSupportDirectory(); if (appDir.existsSync()) { appDir.deleteSync(recursive: true);}}
5条答案
按热度按时间yks3o0rb1#
您可以获取临时文件夹,并删除其中的文件。
swvgeqrz2#
您还可以使用use flutter_cache_manager以编程方式删除或移除应用的缓存。
安装
flutter_cache_manager
后,使用以下命令:z3yyvxxp3#
它正在工作,您只需在此之后刷新应用程序。
djmepvbi4#
关于文森特回答的注解。
尽量避免清除设备的临时文件夹。清除应用程序的缓存文件夹将是一个保护程序,如:
eimct9ow5#
您可以轻松删除缓存。