Expo Image.prefetch在Android正常工作但iOS端图片仍加载缓慢的问题求助
Expo Image.prefetch在Android正常工作但iOS端图片仍加载缓慢的问题求助
大家好,我最近碰到个棘手的问题:用expo-image的时候图片加载速度特别慢,于是尝试用图片预加载的方案,结果在Android上完全正常,但iOS端的资源加载还是慢得让人着急。有没有朋友遇到过类似情况,或者有解决思路呀?
我的图片资源都是存在S3桶里的链接,预加载逻辑在Android上表现很好,下面是我写的预加载Hook代码:
import { Image } from "expo-image"; import { useEffect, useState } from "react"; import { assetUrls } from "../Constants/assetConstants"; export const usePreloadImages = () => { const [loaded, setLoaded] = useState<boolean>(false); useEffect(() => { let cancelled = false; const preload = async () => { try { console.log("preloading mate"); await Promise.all(assetUrls.map((url) => Image.prefetch(url))); if (!cancelled) setLoaded(true); } catch (Err) { console.error("Error loading images", Err); if (!cancelled) setLoaded(true); } }; preload(); return () => { cancelled = true; }; }, []); return loaded; };
我还试过把iOS的缓存策略从默认的disk改成memory-disk,但图片还是要加载很久,占位符会显示很长时间,完全没看到改善效果。
真心求各位大佬支支招!
内容来源于stack exchange
相关产品推荐
相关产品推荐

