@amazon-devices/react-native-fast-imageバージョン3.0.0は、パフォーマンスに優れたReact Native画像コンポーネントを提供するreact-native-fast-image(英語のみ)をVegaでサポートします。
React NativeのImageコンポーネントは、ブラウザと同様に画像キャッシュを処理します。サーバーが画像の適切なキャッシュ制御ヘッダーを返す場合、ブラウザーに表示される組み込みのキャッシュ動作になります。
他のユーザーからは、次のような報告が寄せられています。
- ちらつき
- キャッシュの失敗
- キャッシュからの読み込みパフォーマンスが低い
- 全般的なパフォーマンスが低い
FastImageはImageを置き換えるもので、ウェブ以外のプラットフォームでこれらの問題を解決します。
このライブラリはアプリにデプロイされ、別途インストールプロセスを必要とすることなくVega向けReact Nativeアプリで利用できます。ライブラリは自動リンクされており、アプリは実行時にリンクします。このライブラリは、そのライブラリがビルドされたVega向けReact Nativeのバージョンとのみ互換性があることが保証されています。
アプリのVega向けReact Nativeのバージョンをアップレベルするときは、ライブラリの依存関係をアップレベルするベストプラクティスを検討してください。
このライブラリとAPIリファレンスの詳細については、ドキュメントを参照してください。README.md(英語のみ)を参照してください。
インストール
-
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。 -
npm installコマンドを使用して、依存関係を再インストールします。
例
APIリファレンス
コンポーネントAPI
メソッド
既知の問題と制限事項
Vega向けReact Nativeライブラリには、APIサポートに関していくつかの例外があります。以下の機能はVegaプラットフォームではサポートされていません。source.headerssource.cachetintColordefaultSourceonFastImageProgress(依存関係のImage.onProgressに問題があります。)
下位互換性の問題
v0.12リリース以降のOSには、amzn/react-native-fast-image(npmパッケージ)バージョンとの互換性がありません。
古いバージョンの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バージョン^3.0.0を使用すると、アプリに最新のパッチを適用できます。 -
package-lock.jsonを削除すると、ロックされているfast-imageバージョンがすべて削除されます。package-lock.jsonがほかの依存関係のロックにも使用されている場合は、このファイルから手動で@amazon-devices/react-native-fast-imageのエントリを削除することもできます。 -
node_modulesフォルダを削除して、npmで古いキャッシュされたバージョンが取得されないようにします。 - アプリを再ビルドします。

