Android медленный холодный старт с огненной базой - PullRequest
0 голосов
/ 17 апреля 2020

Я чувствовал, что мой холодный запуск моего приложения медленный, и был уверен, когда Firebase Performance упомянула это.

Я использовал logcat Displayed, чтобы сделать начальное сравнение, которое отображалось на моем Samsung Galaxy S8:

/.list.MainActivity: +2s81ms

Это повторяется нажатием кнопки play в Android Studio >>, закрывающей приложение с моего мобильного телефона >>, снова открывающей его в моем телефоне (т.е. не в android studio)

По сравнению с известными приложениями быстрые приложения со скоростью около 400 мс и более медленные (такие как Whatsapp и facebook) равны 1 с, поэтому 2 секунды - это очень много!

Я потратил почти 2 дня и в итоге обнаружил следующее ,

Если я создаю простое приложение Hello World , время холодного запуска составляет около 0,660 с , что очень много для приложения, которое ничего не делает и по сравнению с выпущенные приложения с 0,350 с

И если я добавляю следующие 4 строки в Gradle (без дополнительного кода!)

implementation 'com.google.firebase:firebase-firestore:21.4.2'
implementation 'com.firebaseui:firebase-ui-auth:6.2.0'
implementation 'com.google.firebase:firebase-auth:19.3.0'
implementation 'com.firebaseui:firebase-ui-firestore:6.2.0'

Холодный запуск увеличился до abo ut 1.2s , что даже больше, чем Whatsapp и Facebook

Как получается, что холодный старт для такого простого кода такой медленный? Я пропускаю какие-либо настройки в Android studio? Возможно манифест или gradle? Что я могу сделать, чтобы улучшить это?

Hello world с реализацией firebase gradle

1 Ответ

0 голосов
/ 17 апреля 2020

Когда вы добавляете Firebase в свое приложение, он сливается с ContentProvider, который автоматически загружает и инициализирует Firebase, так что API готовы к использованию, как только ваш код вызывается. Вы платите за это. Но это не обязательно объясняет все, так как мы не можем точно знать, что еще может делать ваше приложение, или как вы измеряете время запуска.

...