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

