由于Application因其全局变量用法而闻名。我想也许在Application类的onCreate()方法中加载Firebase远程配置是好的,所有变量都将存储为“public static”并具有初始值。
只是想知道这是不是一个好主意,因为我试图将远程配置存储为具有经典getter / setter的私有对象,并且经常导致null异常。
答案 0 :(得分:5)
不要使用应用程序。如果您拥有(或曾经拥有)多进程应用程序,则某些Firebase功能可能会出现问题。
无法保证在您的应用中尽早调用fetch()会在需要时尽快提供值。您应该构建您的应用程序,考虑到加载远程配置参数可能需要一些时间。如果您在启动时绝对需要它们,请创建一个加载屏幕并在那里开始获取,只有在加载完成后才会进行。
使用远程配置有不同的策略,它们在this blog中列出。
答案 1 :(得分:0)
Firebase远程配置是什么意思?
根据我的经验,我通常使用Application onCreate()来启动Firebase服务。
然后收集Firebase令牌并收听其更改。我使用SharedPref来存储我的Firebase令牌。
这是我的方法。
null-exception的原因取决于不同的上下文。所以,如果你展示你的实现,那就更好了。