Flutter 3 空安全警告和错误

Flutter 3 null safety Warnings and Errors

我刚刚将 flutter 升级到最新版本 (3.0.0),我的项目不断给我这些警告和错误:

../../../../flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_pdfviewer-20.1.55-beta/lib/src/control/pdf_page_view.dart:196:23: Warning: Operand of null-aware operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../../../../flutter/packages/flutter/lib/src/painting/binding.dart').
      PaintingBinding.instance?.imageCache?.clear();
                      ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_pdfviewer-20.1.55-beta/lib/src/control/pdf_page_view.dart:197:23: Warning: Operand of null-aware operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../../../../flutter/packages/flutter/lib/src/painting/binding.dart').
      PaintingBinding.instance?.imageCache?.clearLiveImages();
                      ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_pdfviewer-20.1.55-beta/lib/src/control/pdf_scrollable.dart:397:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((Duration timeStamp) {
                     ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_pdfviewer-20.1.55-beta/lib/src/control/pdfviewer_canvas.dart:793:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((Duration timeStamp) {
                     ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_pdfviewer-20.1.55-beta/lib/src/control/scroll_head_overlay.dart:288:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((Duration timeStamp) {
                   ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/cached_network_image_provider.dart:109:29: Warning: Operand of null-aware operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../../../../flutter/packages/flutter/lib/src/painting/binding.dart').
      () => PaintingBinding.instance?.imageCache?.evict(key),
                            ^
../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/multi_image_stream_completer.dart:152:22: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.scheduleFrameCallback(_handleAppFrame);

这是 Flutter 和 Dart 中的一个错误,还是应该采取一些措施。

这是因为您的插件尚未更新到最新版本,这对绑定小部件的 null 安全性进行了一些更改。

如此处所述 null 已从该绑定小部件中排除: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.

最好的办法是查看插件的作者是否更新了他们的插件,或者flutter downgrade恢复到您之前安装的 Flutter 版本。