【问题标题】:I keep getting this mesage in console我不断在控制台中收到此消息
【发布时间】:2023-01-24 14:49:35
【问题描述】:
D/View (23528): dispatchOnPreDraw cancelDraw listener = io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@778faad,cancelDraw 次数=3100
当我在设备上运行应用程序时
我只在设备上看到白屏
【问题讨论】:
标签:
flutter
firebase
flutter-dependencies
flutter-animation
flutter-test
【解决方案1】:
控制台中的这条消息表明 Flutter 引擎正在取消视图在屏幕上绘制之前的渲染。当 Flutter 引擎无法跟上视图更新的速度时,就会发生这种情况。
此消息以及设备上的白屏可能是由多种原因引起的:
过度使用 setState():在代码中过度使用 setState() 调用会导致向 Flutter 引擎发送过多更新。这可能会导致引擎不堪重负,无法跟上更新速度。
性能问题:动画速度慢或计算量大等性能问题可能会导致 Flutter 引擎陷入停滞,从而导致渲染速度变慢甚至取消渲染过程。
内存问题:内存不足会导致 Flutter 引擎崩溃或停止渲染。
未优化的小部件:使用未优化的小部件会导致大量重建,从而导致高 CPU 使用率和低性能。
损坏的资产:损坏的资产,如图像,导致布局失败。
尝试找出并修复问题的根本原因。这可能涉及优化您的代码、减少 setState() 调用的次数,或者识别和解决任何性能或内存问题。此外,请务必检查日志并调试问题,您可以在命令提示符下使用以下命令:
flutter run -d <device_id> --debug --verbose
这将为您提供更详细的问题日志。