android #xamarin #crash
#Android #xamarin #сбой
Вопрос:
У меня есть Xamarin.Приложение для Android, которое было в рабочем состоянии и стабильно в течение нескольких лет, но теперь показывает сбой во время запуска при запуске на устройстве определенного типа (Zebra TC21 / TC26), но только после того, как оно не использовалось в течение 3 или 4 дней.
Если приложение используется регулярно, оно работает надежно, но при длительном бездействии происходит сбой во время перезапуска, по-видимому, потому, что Android переработал объект приложения, возможно, как описано здесь .
Странно то, что ни принудительное закрытие приложения, ни перезагрузка устройства не решают проблему. Только после удаления и переустановки приложение будет запущено снова.
Что еще хуже, я не могу получить какие-либо полезные данные журнала из приложения, когда оно работает на устройствах Zebra. Приложение имеет широкие возможности для ведения журнала (через Loggly) и надежно работает для всех других типов устройств Android, которые я тестировал, но тестовые прогоны Zebra не дают событий журнала.
Прошу прощения, что это расплывчатый вопрос, но я потратил огромное количество времени, пытаясь диагностировать эту проблему, и я не знаю, что делать дальше. Любые предложения будут очень приветствоваться, и я буду рад опубликовать более подробную информацию, если потребуется.
ОБНОВЛЕНИЕ: как было предложено @Cheesebaron, я просмотрел журнал устройства, полученный из Zebra, который показывает, что сбой вызван NRE. Я приписываю это неправильному введению требуемой зависимости, но я не уверен, что это говорит мне о основной причине проблемы, которая явно не возникает при нормальной работе. Я не специалист по расшифровке журналов Android, и мне любопытно, что мне следует искать, чтобы понять конкретное событие ОС, которое привело приложение в состояние сбоя. Просто возможность воспроизвести проблему в режиме реального времени была бы большим шагом вперед.
Я также озадачен, почему эта проблема не устраняется путем перезагрузки устройства. Указывает ли это на повреждение данных / настроек или может быть какое-то другое объяснение? Есть ли что-нибудь в журнале устройства, что я должен искать, чтобы понять это?
Я рад опубликовать журналы устройств (или выдержки), если кто-нибудь захочет их просмотреть.
Комментарии:
1. Есть ли какой-нибудь способ получить журналы устройств из zebra и просмотреть их? Возможно, в нем есть подсказка о том, почему он не запускается снова.
2. Спасибо @Cheesebaron за ваше предложение. Я обновил свой вопрос некоторыми дополнительными деталями.