图像资源服务捕获的异常
Posted
技术标签:
【中文标题】图像资源服务捕获的异常【英文标题】:Exception caught by image resource service 【发布时间】:2019-12-24 00:23:24 【问题描述】:运行以下代码时出现错误。
代码:
import 'package:flutter/material.dart';
void main()
runApp(MyApp());
class MyApp extends StatefulWidget
@override
_MyAppState createState() => _MyAppState();
class _MyAppState extends State<MyApp>
@override
Widget build(BuildContext context)
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('PITCH'),
),
body: Column(
children: <Widget>[
new Text('WELCOME'),
new Image(image: AssetImage('download.png'))
],
),
),
);
错误:
flutter: ══╡ 图像资源服务发现异常╞═══════════════════════════════════════ ═════════════════ 颤振:抛出以下断言解析图像编解码器: 颤振:无法加载资产:download.png 扑: 颤振:抛出异常时,这是堆栈: 颤振:#0 PlatformAssetBundle.load(包:flutter/src/services/asset_bundle.dart:221:7) 扑: 颤振:#1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:464:44) 扑: 颤振:#2 AssetBundleImageProvider.load(包:flutter/src/painting/image_provider.dart:449:14) 颤振:#3 ImageProvider.resolve...(包:flutter/src/painting/image_provider.dart:316:48) 颤振:#4 ImageCache.putIfAbsent(包:颤振/src/painting/image_cache.dart:160:22) 颤振:#5 ImageProvider.resolve..(包:flutter/src/painting/image_provider.dart:316:25) 颤振:(从 dart:async 包中删除了 13 帧) 扑: 颤振:图像提供者:AssetImage(bundle:null,名称:“download.png”) 颤振:图像键:AssetBundleImageKey(捆绑:PlatformAssetBundle#ea200(),名称:“download.png”,规模: 颤振:1.0)
【问题讨论】:
确保停止应用进程,然后再次运行应用(完全启动) 【参考方案1】:这可能是由于以下原因。
您忘记在pubspec.yaml
文件中添加资产
您忘记运行flutter packages get
命令。
您对应用程序进行了热重启/重新加载。
【讨论】:
如果图片运行后需要通过设备动态加载怎么办? 很高兴听到它,不要忘记将答案标记为已接受。查看如何接受答案here 谢谢!这 - 你对应用程序进行了热重启/重新加载 - 拯救了我的一天!【参考方案2】:确保以下几点:
您已在 pubspec.yaml 文件中声明了图像的完整路径。 在声明资产图片后运行flutter pub get
。
在代码中编写完整路径,就像在 pubspec.yaml 中编写的一样。所以应该是'assets/download.png'
【讨论】:
以上是关于图像资源服务捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章