Warum ist der Vorabruf von Expo-Bildern auf iOS im Vergleich zu Android drastisch langsamer?IOS

Programmierung für iOS
Anonymous
 Warum ist der Vorabruf von Expo-Bildern auf iOS im Vergleich zu Android drastisch langsamer?

Post by Anonymous »

Ich verwende expo Image, um Bilder in meiner nativen React-App zwischenzuspeichern und vorab abzurufen
Es funktioniert perfekt auf Android, ist aber auf IOS extrem langsam
Zum Debuggen habe ich viele Protokolle hinzugefügt. Hier ist mein Code

Code: Select all

import { Image } from "expo-image";
import { useEffect, useState } from "react";
import { assetUrls } from "../Constants/assetConstants";
import { Platform } from "react-native";

export const usePreloadImages = () => {
const [loaded, setLoaded] = useState(false);
useEffect(() => {
let cancelled = false;
const preload = async () => {
console.log("preloading mate");
const start = Date.now();
try {
const results = await Promise.all(
assetUrls.map(async (url) => {
console.log("⏳ Prefetching:", url);
try {
await Image.prefetch(url);
console.log("✅ Prefetched:", url);
} catch (err) {
console.log("❌ Prefetch failed:", url, err);
}
})
);
const end = Date.now();
console.log("end at:", end);
console.log(`✅ Prefetch complete! Time taken: ${end - start} ms`);
console.log("Prefetch complete verifying cache");
// await debugImageCache(assetUrls);
if (!cancelled) setLoaded(true);
} catch (err) {
console.error("💥 Error in prefetch loop:", err);
if (!cancelled) setLoaded(true);
}
};
preload();
return () => {
cancelled = true;
};
}, []);
return loaded;
};
und beim Vergleichen der Zeiten habe ich das
Android Prefetch abgeschlossen! Benötigte Zeit: 2052 ms ios Prefetch abgeschlossen! Benötigte Zeit: 31636 ms
Warum benötigt derselbe Code fast 150 % mehr Zeit und was kann man tun, um das Problem zu lösen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post