Flutter Web内存泄漏性能问题求助:缓存激增致应用卡顿
Flutter Web 离线应用内存激增卡顿问题求助
我们使用Flutter Web开发了一款支持用户收集数据的离线应用,近期遭遇性能瓶颈:长期使用后应用会逐渐卡顿,直至无法正常操作,重新加载页面能临时恢复,但这并非有效解决方案。
已完成以下排查操作:
- 排查是否由特定模块引发性能问题,但无论使用哪个功能模块,应用都会出现变慢的情况;
- 检查所有资源是否在
dispose方法中正常释放,未发现明显遗漏; - 尝试用Flutter DevTools调试Flutter Web失败,Chrome浏览器缓存可读性极差,难以进行深入分析。
排查过程中发现核心问题:应用缓存增长极快——使用15分钟后缓存增幅达到161%。但将项目打包为APK后,同样使用15分钟内存仅增长19%(Release包大小30MB,该增幅属于正常范围),未检测到内存泄漏现象。
我们虽考虑过切换至Android/iOS原生应用,但更希望能定位并解决Flutter Web端内存快速分配却无法释放的问题,恳请提供技术支持。
项目相关细节
- Web内存使用情况截图:

- APK内存使用情况截图:

index.html
<html> <head> <script src="flutter.js" defer></script> <script src="pdfjs/pdf.js" type="text/javascript" defer></script> <script src="pdfjs/pdf.worker.min.js" type="text/javascript" defer></script> <script src="indexResources/index.js" type="text/javascript" defer></script> <script src="main.dart.js" type="application/javascript" defer></script> <base href="$FLUTTER_BASE_HREF"> <meta charset="UTF-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="description" content="A new Flutter project."> <!-- iOS meta tags & icons --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-title" content="project"> <!-- Favicon --> <link rel="icon" type="image/png" href="favicon.png"> <link rel="apple-touch-icon" href="icons/project-Icon-192.png"> <link rel="stylesheet" type="text/css" href="indexResources/index.css"> <link rel="manifest" href="manifest.json"> <title>project</title> </head> <body> <picture id="splash"> <source srcset="splash/img/light-1x.png 1x, splash/img/light-2x.png 2x, splash/img/light-3x.png 3x, splash/img/light-4x.png 4x" media="(prefers-color-scheme: light)"> <source srcset="splash/img/dark-1x.png 1x, splash/img/dark-2x.png 2x, splash/img/dark-3x.png 3x, splash/img/dark-4x.png 4x" media="(prefers-color-scheme: dark)"> <img class="center" aria-hidden="true" src="splash/img/light-1x.png" alt=""> </picture> </body> </html>
pubspec.yaml
name: project description: A new Flutter project. # Prevent accidental publishing to pub.dev. publish_to: 'none' version: 1.0.9-SNAPSHOT environment: sdk: '>=3.1.0 <4.0.0' dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter intl: ^0.19.0 http: ^1.1.0 provider: ^6.0.5 shared_preferences: ^2.2.1 hive: ^2.2.3 hive_flutter: ^1.1.0 flutter_slidable: ^3.0.0 cached_network_image: ^3.2.3 flutter_secure_storage: ^9.2.1 connectivity_plus: ^6.0.3 salomon_bottom_bar: ^3.3.2 validators: ^3.0.0 flutter_native_splash: ^2.3.2 url_launcher: ^6.2.6 cupertino_icons: ^1.0.6 flutter_svg: ^2.0.5 csv: ^6.0.0 flutter_markdown: ^0.7.1 freezed_annotation: ^2.1.0 json_annotation: ^4.8.1 flutter_animate: ^4.2.0+1 logging: ^1.2.0 animations: ^2.0.8 package_info_plus: ^8.0.0 flutter_colorpicker: ^1.1.0 device_info_plus: ^10.0.1 path_provider: ^2.1.5 dev_dependencies: mockito: ^5.3.2 flutter_test: sdk: flutter integration_test: sdk: flutter flutter_lints: ^4.0.0 build_runner: ^2.4.10 hive_generator: ^2.0.1 freezed: 2.5.2 json_serializable: ^6.7.1 flutter: uses-material-design: true # Enable generation of localized Strings from arb files. generate: true assets: # Add assets from the images directory to the application. - assets/images/ - assets/pdf/ - assets/images/_common/ - assets/mock/ - assets/fonts/ - assets/info.md - assets/mock/data.json fonts: - family: Roboto fonts: - asset: assets/fonts/Roboto-Regular.ttf
内容的提问来源于stack exchange,提问作者DesperateFlutterDeveloper
相关产品推荐
相关产品推荐

