@amazon-devices/react-native-fast-imageライブラリバージョン2.0.0は、パフォーマンスに優れたReact Native画像コンポーネントを使用してreact-native-fast-image(英語のみ)をVegaでサポートします。
React NativeのImageコンポーネントでは、ブラウザとほとんど同じような画像キャッシュの処理が行われます。サーバーが画像の適切なキャッシュ制御ヘッダーを返す場合、ブラウザーに表示される組み込みのキャッシュ動作になります。他のユーザーからは、次のような報告が寄せられています。
- ちらつき
- キャッシュの失敗
- キャッシュからの読み込みパフォーマンスが低い
- 全般的なパフォーマンスが低い
インストール
-
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。
-
npm installコマンドを使用して、依存関係を再インストールします。
例
サポートされるAPI
コンポーネントAPI
メソッド
Vegaでの例外
Vega向けReact Nativeライブラリには、APIサポートに関していくつかの例外があります。以下の機能はVegaプラットフォームではサポートされていません。source.headerssource.cachetintColordefaultSourceonFastImageProgress(依存関係のImage.onProgressに問題があります。)
下位互換性の問題
Vega OSバージョンv0.12、OS 1.1(201010334050)以降のバージョンはamzn/react-native-fast-image(npmパッケージ)バージョン<=2.0.1726598878と互換性がありません。 古いバージョンのnpmパッケージに対してビルドされたアプリをv0.12以降のバージョンのOSで実行すると、起動時に次のクラッシュが発生します。
Volta:Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'FastImageTurboModule' could not be found. Verify that a module by this name is registered in the native binary.
このクラッシュを回避するには、@amazon-devices/react-native-fast-imageの最新バージョンに対してアプリを再度ビルドする必要があります。
-
アプリの
package.jsonが古いバージョンのfast-imageをハードコードしていないことを確認してください。 semvarバージョン~2.0.0を使用すると、アプリに最新のパッチを適用できます。 -
package-lock.jsonを削除すると、ロックされているfast-imageバージョンがすべて削除されます。
package-lock.jsonを使用してその他の依存関係をロックしている場合は、
@amazon-devices/react-native-fast-imageのエントリを手動で削除できます。 -
npmが古いキャッシュされたバージョンを取得しないようにするには、
node_modulesフォルダーを削除します。 - アプリを再ビルドします。

