2016-01-07 34 views
1

不知道是否有其他人遇到這個問題...React-native:幾次重新加載JS後圖像丟失

我有一個簡單的頁面,其中包含幾個圖像。當我第一次啓動應用程序時,一切都完美加載。但是,我重新加載JS多次後,圖像開始隨機消失。如果我關閉了應用程序並重新開始,它將恢復正常並重新加載JS。

這是什麼原因造成的?這是我缺少的東西,還是隻是調試模式的問題?

的環境做出反應,原生的Android,Win10 + Genymotion模擬器

以下是問題的一些截圖: 預期的觀點: enter image description here

其中一個有問題的看法。背景圖片丟失。 enter image description here

並附加了完整代碼:

var React = require('react-native'); 
var { 
    StyleSheet, 
    PixelRatio, 
    View, 
    Text, 
    Image, 
} = React; 

var PropTypes = require('ReactPropTypes'); 
var util = require('../lib/util'); 

var MainView = React.createClass({ 
    render: function() { 

    return(
     <View style={styles.body1}> 
      <Image source={require('./images/bg.png')} style={[styles.stretch, styles.bg]} resizeMode={Image.resizeMode.stretch}> 
       <Image source={require('./images/bg_high.png')} style={styles.bg_high}> 
        <Image source={require('./images/starFigure_bg.png')} style={styles.block_high}> 
         <Image source={require('./images/starFigure.png')} /> 
        </Image> 
       </Image> 
      </Image> 
     </View> 
     )} 
    }) 

var styles = StyleSheet.create({ 
    main: { 
     flex: 1, 
    }, 

    body1: { 
     flex: 1, 
     alignItems: 'stretch' 
    }, 

    stretch: { 
     flex: 1,   
    }, 

    bg: { 
     paddingTop: 160/PixelRatio.get(), 
     paddingLeft: 30/PixelRatio.get(), 
    }, 

    bg_high: { 
     paddingLeft: 7/PixelRatio.get(), 
     paddingTop: 37/PixelRatio.get(), 
     flexDirection : 'row', 
    }, 

    block_high: { 
     marginLeft: 20/PixelRatio.get(), 
     paddingLeft: 25/PixelRatio.get(), 
     paddingTop: 25/PixelRatio.get(), 
    }, 

    btn : { 
     height: 30, 

    }, 

    bg_s: { 
     width: util.size.width/2 
    }, 
}); 

module.exports = MainView 

回答

2

當我使用Image.resizeMode.stretch 使用蓋或包含在夢裏,我遇到此問題

編輯: 可能因內存問題。您可以嘗試在android清單應用程序標記中添加android:largeHeap =「true」。

+0

但拉伸是使bg圖像正確覆蓋屏幕而不考慮屏幕比例的唯一方法。 ------ 我在Windows上試用過股票谷歌模擬器,它發生的頻率要低得多。你使用的是什麼模擬器? –

+0

我仍然遇到這個問題,我發現這種情況發生在設備內存較少時更頻繁。我正在使用真實設備進行測試。 –

+0

我的同事告訴我,如果他們的應用程序在實際設備中加載了一堆圖像,它可能會發生。我相信這也與記憶有關。 –