スワイプ可能な水平ギャラリーに画像のペアを含むコードがいくつかあります。両方の画像の上部をクリックすると、画像がオフに切り替わるはずです。そのため、私が行ったのは、isImage2Active を状態に設定し、ソースを切り替えるだけです。 iOS では完全にスムーズに動作しますが、Android ではほとんどまったく動作しません。頻繁にクリックすると変更される可能性がありますが、それは明らかに私が望む動作ではありません。
したがって、説明したように、スライド可能な水平ギャラリーである画像コンポーネントがあります
リーリー次に、内部に Image コンポーネントがあり、Pressable コンポーネント内の上記の画像をクリックすると、handleImagePress がトリガーされ、setIsImage2Active が変更されてから画像のソースが切り替わるはずですが、Android では実際には機能せず、20 です10 回に 1 回しか機能しません。狂ったようにクリックした場合にのみ機能します。これはパフォーマンスの問題ですか、それとも Pressable コンポーネントの問題ですか?私は今本当にイライラしています。
リーリーこれを FlatList (Spotify の FlashList、これによりパフォーマンスが向上するはずです) に入れてみました。これは、PagerView を使用してすべての投稿をマップする前は、handleImagePress によってすべての画像がギャラリー部分の isImage2Active に変更されていたためですが、今では代わりに別の画像コンポーネントを使用しているため、更新する必要がある画像は 1 つだけですが、パフォーマンスは 0 向上しました。
リーリーまた、別の画面を作成し、1 つの画像だけを使用してテストしたところ、問題なく動作しましたが、FlatList 内では、極端なパフォーマンスの問題が発生しました。
P粉8059312812024-04-07 00:05:47
フラットリストのパフォーマンスと画像を最適化してみてください。これらはリモート URL から取得されていることがわかります。画像をプリロードしてそこを最適化するか、react-native-fast-image
のような最適化された画像ライブラリを使用することをお勧めします。画像を直接ロードします。