React Native上的http或https <img/>组件在Android 4.1.2(API 16)

时间:2016-11-11 05:03:10

标签: android image react-native components

您好我只是反应原生的新手。

我正在尝试使用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,并将其安装在我的旧联想上,但我仍然得到相同的结果。 (仅限本地图像显示)

最后我尝试将它安装在我的新xiaomi(android 6)上,所有图片都显示..

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

minSdkVersion 16

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

非常感谢......

1 个答案:

答案 0 :(得分:0)

您使用的是大图吗?

您应该尝试使用android:largeheap="true"来查看它是否适用。如果显示的图像超出正常范围,则说明您在旧设备上存在内存问题。

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

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