2

我有一個應用程序依靠推送通知來更新在線發生的事件的用戶。爲此,我有我的正常活動,向用戶顯示遊戲,然後有一個BroadcastReceiver存在來處理傳入的推送消息。從Android上的Activity和BroadcastReceiver區分應用程序對象

但是,無論何時我們收到消息,它都會創建我們的應用程序實例。在我們的Application.onCreate()函數中,我們執行一些預加載和處理邏輯,它們只應在創建的應用程序是實際的Activity而不是BroadcastReceiver時運行。

我也嘗試將處理和邏輯移入Activity.onCreate(),但整個生命週期比應用程序的可預測性要低得多,所以Application方法似乎是首選,但我願意向替代解決方案。

如何確定是否爲BroadcastReceiver或Activity創建應用程序實例?

+0

一些額外的信息 - 這裏是這個地區的城市飛艇文件:http://urbanairship.com/docs/android-client-push.html#process-management – RealCasually

+0

現在我想到了,我是由於Android應該擁有自己的C2DM服務,因此不確定該服務甚至是必需的。在這種情況下,我只依靠我的BroadcastReceivers。但是,這仍然存在問題,因爲我相信每次實例化BroadcastReceiver時都會創建一個Application對象。 – RealCasually

回答

2

我通過將昂貴的預加載移動到Activity上的靜態初始化程序來解決此問題。

相關問題