我有一个应用程序依赖推送通知来更新用户在线发生的事件。为此,我有一个向用户显示游戏的常规 Activity,然后是一个 BroadcastReceiver,用于处理传入的推送消息。
但是,每当我们收到消息时,它都会创建我们应用程序的一个实例。在我们的 Application.onCreate() 函数中,我们执行一些预加载和处理逻辑,这些逻辑只应在创建的应用程序是实际 Activity 而不是 BroadcastReceiver 时运行。
我还尝试将处理和逻辑转移到 Activity.onCreate() 中,但整个生命周期的可预测性远低于应用程序的生命周期,因此应用程序方法似乎是首选,但我对替代解决方案持开放态度。
如何确定正在为 BroadcastReceiver 或 Activity 创建 Application 实例?
最佳答案
我通过将昂贵的预加载移动到 Activity 上的静态初始化程序来解决这个问题。
关于android - 区分 Application 对象与 Android 上的 Activity 和 BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8292265/