【问题标题】:http or https <image> component on React Native showing blank on Android 4.1.2 (API 16)React Native 上的 http 或 https <image> 组件在 Android 4.1.2 (API 16) 上显示为空白
【发布时间】:2017-03-25 07:07:25
【问题描述】:

您好,我只是 React Native 的新手。

我正在尝试将 Facebook 教程用于图像组件

export default class PropertyFinder extends Component {
  render() {
    let pic = {
     uri: 'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'
    };
    var yourPicture = require ('./images/image1.jpg');
    return (
     <ScrollView>
        <Image source={{uri: 'http://i.imgur.com/UePbdph.jpg'}} style={{width: 200, height: 227}} />
        <Text> test </Text>
         <Image source={pic} style={{width: 193, height: 110}}/>
         <Image source={yourPicture}/>
         <View>
         <Image source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}} style={{width: 400, height: 400}} />
         </View>
      </ScrollView>
    );
  }
}

我在 AVD 模拟器上运行了它,它适用于所有图像显示

但是,我尝试在设备上调试(旧的 lenovo API 16),并且仅显示本地图像 var yourPicture 的图像,所有 URI http / https 图像都没有显示。他们只是空白。

所以我很好奇,这是怎么发生的?

我尝试搜索论坛,但找不到任何解决方案。我还尝试发布 apk,并将其安装在我的旧 lenovo 上,但我仍然得到相同的结果。 (仅显示本地图片)

最后我尝试在我的新小米(android 6)上安装它,并且所有图像都显示..

嗯,这种行为很奇怪,因为 React native 支持 android 16,对吧?

minSdkVersion 16

有什么办法可以解决这个问题吗?

非常感谢……

【问题讨论】:

  • 请连接您的设备并运行adb logcat - Android 日志中可能有一些可以提供帮助的内容。
  • 请注意,android 4.1.2 默认只支持 https 的 TLS 1.0。我认为在 https 上获取图像会引发异常并导致此行为。 Github 使用 TLS 1.2。

标签: android image react-native components


【解决方案1】:

您使用的是大图像吗?

您应该尝试使用android:largeheap="true" 来查看它是否适用。如果出现图像,则表示您在旧设备上存在内存问题。

android:largeheap="true" 不是解决方案。它应该只用于需要大量内存的应用程序(例如在图片上绘图)。

您可以使用ImageOptim 来减小文件大小

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多