首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >热重启后只呈现颤振SVG

热重启后只呈现颤振SVG
EN

Stack Overflow用户
提问于 2020-01-09 11:47:21
回答 2查看 2.7K关注 0票数 2

我在使用flutter_svg:^0.15.0渲染svg文件时遇到了问题。有些svgs在第一次呈现时就呈现了,但有些没有呈现。在我热重新启动应用程序时运行良好。我试图降低flutter_svg版本的级别,但它没有工作。我从几周以来就遇到了这个问题,我尝试使用svg清洁器,因为flutter_svg不支持属性,但是什么也没有。

控制台输出:I/flutter (12326): ══╡ EXCEPTION CAUGHT BY SVG ╞═══════════════════════════════════════════════════════════════════════ I/flutter (12326): The following assertion was thrown resolving a single-frame picture stream: I/flutter (12326): Unable to load asset: images/weo-device NotConnecteds.svg I/flutter (12326): I/flutter (12326): When the exception was thrown, this was the stack: I/flutter (12326): #0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7) I/flutter (12326): <asynchronous suspension> I/flutter (12326): #1 AssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:67:33) I/flutter (12326): #2 CachingAssetBundle.loadString.<anonymous closure> (package:flutter/src/services/asset_bundle.dart:162:56) I/flutter (12326): #3 _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:293:23) I/flutter (12326): #4 CachingAssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:162:27) I/flutter (12326): #5 AssetBundlePictureProvider._loadAsync (package:flutter_svg/src/picture_provider.dart:448:42) I/flutter (12326): #6 AssetBundlePictureProvider.load (package:flutter_svg/src/picture_provider.dart:434:43) I/flutter (12326): #7 PictureProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter_svg/src/picture_provider.dart:326:17) I/flutter (12326): #8 PictureCache.putIfAbsent (package:flutter_svg/src/picture_cache.dart:67:22) I/flutter (12326): #9 PictureProvider.resolve.<anonymous closure> (package:flutter_svg/src/picture_provider.dart:324:16) I/flutter (12326): #10 SynchronousFuture.then (package:flutter/src/foundation/synchronous_future.dart:38:29) I/flutter (12326): #11 PictureProvider.resolve (package:flutter_svg/src/picture_provider.dart:321:24) I/flutter (12326): #12 _SvgPictureState._resolveImage (package:flutter_svg/svg.dart:641:10) I/flutter (12326): #13 _SvgPictureState.didUpdateWidget (package:flutter_svg/svg.dart:629:7) I/flutter (12326): #14 StatefulElement.update (package:flutter/src/widgets/framework.dart:4396:58) I/flutter (12326): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #16 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14) I/flutter (12326): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #18 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5161:32) I/flutter (12326): #19 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5561:17) I/flutter (12326): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #21 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14) I/flutter (12326): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #23 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14) I/flutter (12326): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #26 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #27 StatelessElement.update (package:flutter/src/widgets/framework.dart:4298:5) I/flutter (12326): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #29 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14) I/flutter (12326): #30 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #31 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14) I/flutter (12326): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #33 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #34 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #35 StatelessElement.update (package:flutter/src/widgets/framework.dart:4298:5) I/flutter (12326): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #38 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #39 ProxyElement.update (package:flutter/src/widgets/framework.dart:4557:5) I/flutter (12326): #40 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #41 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #43 StatefulElement.update (package:flutter/src/widgets/framework.dart:4413:5) I/flutter (12326): #44 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #45 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #46 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #47 StatelessElement.update (package:flutter/src/widgets/framework.dart:4298:5) I/flutter (12326): #48 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #49 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1288:36) I/flutter (12326): #50 SliverMultiBoxAdaptorElement.performRebuild.processElement (package:flutter/src/widgets/sliver.dart:1220:34) I/flutter (12326): #51 Iterable.forEach (dart:core/iterable.dart:279:30) I/flutter (12326): #52 SliverMultiBoxAdaptorElement.performRebuild (package:flutter/src/widgets/sliver.dart:1246:24) I/flutter (12326): #53 SliverMultiBoxAdaptorElement.update (package:flutter/src/widgets/sliver.dart:1191:7) I/flutter (12326): #54 Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15) I/flutter (12326): #55 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16) I/flutter (12326): #56 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5) I/flutter (12326): #57 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2432:33) I/flutter (12326): #58 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:773:20) I/flutter (12326): #59 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5) I/flutter (12326): #60 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15) I/flutter (12326): #61 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9) I/flutter (12326): #62 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957:5) I/flutter (12326): #66 _invoke (dart:ui/hooks.dart:259:10) I/flutter (12326): #67 _drawFrame (dart:ui/hooks.dart:217:3) I/flutter (12326): (elided 3 frames from package dart:async) I/flutter (12326): I/flutter (12326): Picture provider: ExactAssetPicture(name: "images/weo-device NotConnecteds.svg", bundle: null, I/flutter (12326): colorFilter: null) I/flutter (12326): Picture key: AssetBundlePictureKey(bundle: PlatformAssetBundle#99193(), name: "images/weo-device I/flutter (12326): NotConnecteds.svg", colorFilter: null)

我的pubspec.yaml:

代码语言:javascript
复制
dev_dependencies:
  flutter_test:
    sdk: flutter
flutter:
  uses-material-design: true
  assets:
    - images/All Acs.svg
    - images/weo.svg
    - images/All Fans.svg
    - images/All Lights.svg
    - images/coffee.svg
    - images/lock.svg
    - images/morning.svg
    - images/Night.svg
    - images/too_hot.svg
    - images/forgot-password.svg
    - images/Accounts.svg
    - images/Favourites.svg
    - images/Room.svg
    - images/offnotification.svg
    - images/onnotification.svg
    - images/power.svg
    - images/power-chill.svg
    - images/sleep.svg
    - images/swing.svg
    - images/economy.svg
    - images/energy-saver.svg
    - images/cove.svg
    - images/loo.svg
    - images/arrow-down.svg
    - images/arrow-up.svg
    - images/curtains.svg
    - images/show password.svg
    - images/too_cold.svg
    - images/regulator.svg
    - Weo Status.svg
    - Wifi – Off.svg
    - Wifi – On.svg
    - logs.svg
    - home.svg
    - rooms.svg
    - Swing H.svg
    - Swing V.svg
    - ModeFan.svg
    - Humidity.svg
    - Dry.svg
    - AI.svg
    - GeneralModeAC.svg
    - theme_on.svg
    - theme_off.svg
    - weo-device NotConnected.svg
    - weo-offline.svg
    - Dot.svg
    - Switchboard.svg
    - WMS.svg
    - WMS-Sketch.svg

我也尝试过将image/文件夹放在资产中。

由于这个问题,我无法构建和发布我的应用程序。请帮帮我!

更新:我的代码片段:

代码语言:javascript
复制
Center(
  child: SvgPicture.asset(
    "images/$image",
    width: 55.0,
    height: 55.0,
  )
),

图像变量存储svg的名称。

颤栗博士:

代码语言:javascript
复制
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.17763.914], locale en-US)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.5)
[√] VS Code (version 1.41.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

我已经改变了频道的主人,这是问题的开始,当我回到频道稳定,它仍然存在。

PS:-一个月前所有的猪都工作得很好。我一个也没换过。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-05 08:18:09

我找到了解决办法。我删除了SVG名称中的所有空格,在那之后,它们都正常工作。我不知道这是否是问题的原因,但它确实解决了问题。

票数 0
EN

Stack Overflow用户

发布于 2020-01-09 16:01:25

几个月前,我尝试使用SVG来显示图像。我能注意到的是,SVG文件中有一些flutter_svg包还不知道如何解释的代码。这会导致一些SVG文件有时中断/出现问题;所以我们不能做太多事情,而只能使用非常简单的SVG文件。

因此,我要求我的设计人员生成简单的SVG文件,比如没有渐变,或者阴影等等。

然而,有时也有可能的解决办法,但可能不适用于所有svg文件。使用这个工具https://github.com/RazrFalcon/svgcleaner/releases

您可能需要尝试的是下载这个工具,并清理您的svg文件,并使用此工具生成的清理后的svg文件。

这个工具是做什么的?

我不是百分之百肯定,但它小型化,并改变了SVG的代码,使样式/类被放置在一起,这增加了您的SVG文件工作flutter_svg包的机会。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59663303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档