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 版本。
我刚刚将 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 版本。