Когда я открываю приложение, на несколько секунд появляется заставка, а затем приложение вылетает. С течением времени он начинает потреблять все больше и больше памяти. При достижении 3 ГБ оперативной памяти вылетает и закрывается. В консоли выставки нет журнала, но я нашел соответствующий журнал в собственных журналах iOS:
Симулятор: симулятор Xcode iPhone 16e (iOS 26.1) и эмулятор студии Android Pixel 9a
Версия Xcode: версия 26.1.1 (17B100)
И симулятор Android, и симулятор iOS вызывают одну и ту же проблему. Что происходит? Мое приложение не такое уж большое. Это похоже на бесконечный цикл рендеринга (правда, я не знаю), но ни один из моих компонентов не рендерится. Я предполагаю, что сбой происходит до того, как реакция монтируется. Приложение полностью зависает на заставке, а затем вылетает. Что я пробовал:
Сбросить Metro (expo start --clear)
expo prebuild + pod install (попробовал собрать вместо Expo go, но возникла та же проблема.)
Удаление всех поставщиков контекста
Удаление пользовательских шрифты
Тестирование симуляторов iOS и Android
Я также попробовал новый свежий проект Expo, и он не вызвал этой проблемы. Вероятно, это вызвано моим ThemeProvide.tsx. Когда я удалил эту проблему, проблема исчезла.
ThemeProvider.tsx
Когда я открываю приложение, на несколько секунд появляется заставка, а затем приложение вылетает. С течением времени он начинает потреблять все больше и больше памяти. При достижении 3 ГБ оперативной памяти вылетает и закрывается. В консоли выставки нет журнала, но я нашел соответствующий журнал в собственных журналах iOS: [code]2025-11-26 11:30:31.097 I Expo Go[11351:3cbc4] [dev.hermesengine:Default] HermesGC: OOM: [RNBridgeless] reason = Max heap size was exceeded (1 from category: vm_allocate_category), numCollections = 3193, heapSize = 3221225472, allocated = 3145696648, va = 3221225472, external = 2997258. [/code] вот мой package.json [code]{ "name": "my_app", "main": "expo-router/entry", "version": "1.0.0", "scripts": { "start": "expo start", "reset-project": "node ./scripts/reset-project.js", "android": "expo run:android", "ios": "expo run:ios", "web": "expo start --web", "lint": "expo lint" }, "dependencies": { "@expo/vector-icons": "^15.0.3", "@react-native-async-storage/async-storage": "2.2.0", "@react-navigation/bottom-tabs": "^7.4.0", "@react-navigation/elements": "^2.6.3", "@react-navigation/native": "^7.1.8", "expo": "~54.0.25", "expo-constants": "~18.0.10", "expo-font": "~14.0.9", "expo-haptics": "~15.0.7", "expo-image": "~3.0.10", "expo-linear-gradient": "~15.0.7", "expo-linking": "~8.0.9", "expo-router": "~6.0.15", "expo-splash-screen": "~31.0.11", "expo-status-bar": "~3.0.8", "expo-symbols": "~1.0.7", "expo-system-ui": "~6.0.8", "expo-web-browser": "~15.0.9", "react": "19.1.0", "react-dom": "19.1.0", "react-native": "0.81.5", "react-native-gesture-handler": "~2.28.0", "react-native-reanimated": "~4.1.1", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "~4.16.0", "react-native-svg": "15.12.1", "react-native-svg-transformer": "^1.5.2", "react-native-web": "~0.21.0", "react-native-worklets": "0.5.1" }, "devDependencies": { "@types/react": "~19.1.0", "eslint": "^9.25.0", "eslint-config-expo": "~10.0.0", "typescript": "~5.9.2" }, "private": true } [/code] [b]Что я использую[/b] [list] [*]Аппаратное обеспечение: Mac mini m4 [*]ОС: macOS Tahoe 26.1 [*]Симулятор: симулятор Xcode iPhone 16e (iOS 26.1) и эмулятор студии Android Pixel 9a [*]Версия Xcode: версия 26.1.1 (17B100) [/list] И симулятор Android, и симулятор iOS вызывают одну и ту же проблему. Что происходит? Мое приложение не такое уж большое. Это похоже на бесконечный цикл рендеринга (правда, я не знаю), но ни один из моих компонентов не рендерится. Я предполагаю, что сбой происходит до того, как реакция монтируется. Приложение полностью зависает на заставке, а затем вылетает. [b]Что я пробовал:[/b] [list] [*]Сбросить Metro (expo start --clear) [*]expo prebuild + pod install (попробовал собрать вместо Expo go, но возникла та же проблема.) [*]Удаление всех поставщиков контекста [*]Удаление пользовательских шрифты [*]Тестирование симуляторов iOS и Android [/list] Я также попробовал новый свежий проект Expo, и он не вызвал этой проблемы. Вероятно, это вызвано моим ThemeProvide.tsx. Когда я удалил эту проблему, проблема исчезла. ThemeProvider.tsx [code]import { ThemeContext } from "@/context/theme"; import { dark, light } from "@/design"; import { UserPref } from "@/design/colors"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { useCallback, useEffect, useMemo, useState } from "react"; import { ColorSchemeName, useColorScheme } from "react-native"; import { ProviderProps } from "../provider.types";