Какие методы использовать для обнаружения ошибок приложения, которые происходят, но не отображаются?

Как можно разрешить проблему зависания мобильного приложения, написанного на Flutter, при запуске релизной версии (aab) на некоторых устройствах, не отображая ничего кроме черного экрана без каких-либо ошибок или исключений?
  • 10 февраля 2024 г. 7:58
Ответы на вопрос 2
Для обнаружения ошибок в приложениях, которые происходят, но не отображаются, можно использовать несколько методов:

1. **Логгирование:** Интегрируйте систему логгирования для сбора информации о работе приложения. Используйте разные уровни логирования (debug, info, warning, error) для разделения важности событий.

2. **Аналитика и мониторинг:** Встроенные инструменты для сбора аналитики и мониторинга (например, Google Analytics, Firebase, Sentry, Crashlytics) могут помочь отслеживать события и сбои приложения в реальном времени.

3. **Юнит-тестирование и интеграционное тестирование:** Разработка тестов для проверки отдельных компонентов и их взаимодействия поможет идентифицировать потенциальные проблемы до того, как они появятся в продакшене.

4. **Статический анализ кода:** Используйте инструменты статического анализа кода, которые могут выявлять потенциальные уязвимости и ошибки без выполнения программы.

5. **Профилирование и отладка производительности:** Проверяйте, как ваше приложение использует системные ресурсы, чтобы найти узкие места или утечки памяти.

Для решения проблемы зависания мобильного приложения на Flutter при запуске релизной версии (aab) на некоторых устройствах, можно предпринять следующие шаги:

1. **Проверка процесса сборки:**
   - Убедитесь, что вы используете последнюю версию Flutter и зависимостей.
   - Очистите кэш сборки (`flutter clean`), затем попробуйте пересобрать приложение (`flutter build appbundle`).

2. **Проверка логов:**
   - Подключите устройство через USB и проверьте логи с помощью Android Logcat или инструмента `flutter run --release`. Это может выявить ошибки, которые не отображаются на экране устройства.

3. **Минимизация размера ресурсов:**
   - Убедитесь, что ресурсы приложения (изображения, анимации и т.д.) оптимизированы и не приводят к чрезмерному использованию памяти.

4. **Отладка на разных устройствах:**
   - Протестируйте приложение на разных устройствах и версиях ОС, чтобы выявить, вызвана ли проблема специфичными для устройства условиями.

5. **Проверка архитектуры приложения:**
   - Анализируйте потоки запуска приложения на предмет потенциальных блокировок или долгих синхронных операций, особенно на главном потоке.

6. **Split APK по ABI:**
   - Если проблема связана с бинарными файлами приложения для разных архитектур, попробуйте использовать функцию разделения APK по ABI, чтобы уменьшить размер пакета приложения и устранить некоторые проблемы совместимости.

7. **Страница загрузки (splash screen):**
   - Оформите страницу загрузки, которая будет отображаться во время инициализации при
проявляется как на редминот 13 про, так и на редминот 10

Предполагаю, что проблема в самих китаефонах.
т.е андроиды самый последний и не самый. Дело значит не в версии андроида

Значит, дело в оболочке MIUI от китайцев.
Попробуй запустить на Google Pixel.
Ну и отладку на эмуляторах никто не отменял.
Что в логах ANR/NPE в Firebase?
Без кода невозможно дать диагноз.
Возможно, что ты запускаешь на слабых устройствах, которые не тянут приложение.
Или система не получила нужных разрешений, а ты этот момент пропустил.
В общем, давай сюда код. Посмотрим.
Похожие вопросы