无法使用Image.network从互联网上渲染/显示颤动图像

时间:2019-04-17 20:21:10

标签: dart flutter flutter-image

使用Flutter Image时遇到问题。我可以从我的设备渲染图像/图像,但不能从互联网渲染图像/图像! 想要提一下,我还将代码也添加到androidManifest文件中以获取互联网许可。

但是不管什么都不起作用。这是我来自flutter文档的代码。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    var title = 'Web Images';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: Text(title),
        ),
        body: Image.network(
          'https://picsum.photos/250?image=9',
        ),
      ),
    );
  }
}

我不明白是什么问题!它不会显示错误或引发异常。屏幕上仅显示图像。

从互联网或使用url渲染图像是否需要做些什么?

谢谢

1 个答案:

答案 0 :(得分:1)

我已经测试了您的代码,并且似乎可以在android模拟器和iOS模拟器上使用。

Android模拟器: enter image description here

iOS模拟器: enter image description here

关于此问题,有filed bug

由于注释中已提及某些解决方法,例如检查INTERNET是否为enabled if you are running in a release mode

默认的Flutter应用程序模板启用了INTERNET的权限 调试/配置文件模式(以支持Dart天文台),但不支持 释放模式。

您还可以尝试以下操作:

  • 检查计算机中DNS的配置。可能是它阻止了您的Android仿真器的互联网连接。
  • 使用其他设备(例如,自从iOS即可运行的物理android设备)检查该应用,然后,如果运行正常,就可以在您的计算机或互联网上进行检查。

此外,filed bug comment中还提到了其他解决方法:

顺便说一下,有两个文件夹在其中显示了AndroidManifest.xml 机器:
android / app / src / profile android / app / src / debug

确保您同时拥有这两个权限

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.flloadimage">
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

还可以尝试一下其他方法来查看电话是否有问题。登录到 启动(或插入)设备并ping 网站。

例如应该看起来像这样

~$ adb shell
generic_x86:/ $ ping picsum.photos
PING picsum.photos (104.37.178.1) 56(84) bytes of data.
64 bytes from 104.37.178.1: icmp_seq=1 ttl=254 time=17.6 ms
64 bytes from 104.37.178.1: icmp_seq=2 ttl=254 time=22.4 ms
^C
--- picsum.photos ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5012ms
rtt min/avg/max/mdev = 13.638/19.442/24.621/3.508 ms
generic_x86:/  <press ctrl-d to exit to your prompt>

其他想法

  • 尝试使用其他wifi,例如咖啡馆。
  • 执行干净的命令来重建
  • 在另一台计算机上安装