我最近开始使用Google提供的新firebase API。我正在使用身份验证和数据库。我注意到应用程序的启动时间非常糟糕,第一次启动时约为20秒,之后每次启动约为5-10秒。
我已经做过/尝试过的事情:
1.我首先认为这是我手机的问题,但其他手机上的数字也大致相同 - 包括仿真器。我的网络速度非常好,应该不是问题
2.我制作了另一个测试应用程序,只有auth和数据库的最低限度和一个活动,以查看我的应用程序是否有问题,但再次使用相同的数字。
3.在我的启动器活动中添加了一些日志语句。我注意到我的活动onCreate
只有在所有google和firebase内容初始化后才会被调用
4.当我检查用户是否已登录时,我尝试放置启动画面,但这几乎没有帮助,因为只有在firebase完成加载后才显示启动画面,并且只有纳秒时间。(参考上面的内容)点,onCreate
仅在firebase完成后被调用,因此,setContentView
之后也会被调用)
启动时会发生什么:每次启动时,我只会获得一个带通知栏的白页大约5-10秒。
知道我可以做些什么来改善启动时间吗?
更新:刚刚发现Firebase
组件都没有问题。问题是因为Instant Run。读取即时运行延迟应用程序启动时间的某个地方,仅在调试模式下运行时。没有即时运行测试应用程序,就像一个魅力!
答案 0 :(得分:1)
Firebase不存在问题,问题出在Instant Run上。启用“即时运行”会导致调试版本中的启动问题。禁用“即时运行”以查看改进。