2015-12-22 4 views
1

Я хочу использовать Crashlytics. Я инициализирую Crashlytics в функции onCreate из своей активности main, и все работает хорошо.Как повторно инициализировать Crashlytics через некоторое время?

Проблема начинается, если приложение не работает какое-то время, и я хочу перейти в приложение из уведомления о состоянии. Я думаю, что он перерабатывается из коллекции мусора Android. Поэтому я должен повторно инициализировать Crashlytics. Возможно, я получаю из строки состояния уведомление почти о каждом действии в моем приложении (я также запускаю задачу async из строки состояния).

Должен ли я инициализировать Crashlytics в каждой операции/async, чтобы убедиться, что он работает хорошо после закрытия приложения и повторного использования или есть другой метод?

ответ

5

Вы должны инициализировать Crashlytics в своем классе Application. Пока ваше приложение поддерживается системой, экземпляр приложения будет доступен.

Вы можете создать пользовательский класс приложений, используя что-то подобное ниже:

public class MyCustomApplication extends Application { 
    public void onCreate() { 
     super.onCreate(); 
     Fabric.with(this, new Crashlytics()); 
    } 
} 
+0

Спасибо за быстрый ответ. Выглядит очень полезно! Только для понимания: метод onCreate в моем пользовательском классе приложения также будет выполняться, если я просто выполняю задачу async без активности? – Peter

+0

Старайтесь не вводить слишком много кода в класс приложения, так как он может замедлить запуск приложения. Но да, до тех пор, пока вы не удаляете супер-вызов, он должен работать. – fractalwrench

Смежные вопросы