2016-11-21 66 views
7

有人可以解釋我,RN Image.prefetch如何工作?我已閱讀文檔和示例,但我無法得到,發生了什麼。React Native Image.prefetch如何工作?

  1. 當我們預取一次圖像,將它從緩存中自動加載,當我想一定有什麼地方使用它,或者我需要手動做一些檢查?

  2. 當我需要調用Image.prefetch方法:在componentWillMount圖像渲染之前或在圖像加載之後loadEnd回調,就像它在文檔示例中所示?

在此先感謝您的答案。

回答

4

文檔中給出的示例看起來很混亂,但實際上很簡單。您可以提前預取圖像,並且當您想要像往常一樣使用Image組件時顯示它們。 例如,在某個初始場景中,您可以在預取所有圖像時顯示ActivityIndicator,一旦完成所有圖像就會顯示像沒有預取的圖像。

回答您的問題:

  1. 圖像會從緩存中自動加載,無需手動檢查需要。確保不要再次卸載/重新安裝預取的場景,因爲它會再次開始加載圖像。
  2. 在圖像渲染之前,渲染時顯示渲染場景時渲染圖像之前的某些場景中效果最好。您可以使用onLoadEnd來了解何時顯示下一個場景。您可以使用componentWillMount來執行預取,只需渲染其他像ActivityIndicator這樣的內容,而完成完成後,一旦完成渲染圖像。

希望它有幫助。

+1

謝謝!它變得更清晰 – Ilyoff

+0

如果卸載圖像組件,它是否被丟棄?我的意思是,如果你想在多個頁面中顯示imageA,基本上每次渲染都會提取,而不是從磁盤緩存中提取? – Dave

+1

如果圖像組件被卸載,我沒有說會被丟棄。我悲傷的是,如果卸載了你預取的組件,它將被丟棄。沒有要求在使用圖像的相同組件中進行預取。 –

相關問題