You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:49:29