2014-11-03 93 views
0

我正在開發一個應用程序。在應用程序的活動執行的流程和任務如下:應用程序啓動延遲

1)閃屏 - A.在異步任務1從服務器上下載一個圖像,然後創建數據庫 B.從交異步A的調用異步乙用於推送通知登記 C.從異步乙呼叫異步的C柱,以檢查標誌 -

If flag Screen2 == 1 { 
    If flag Screen3 == 1{ 
     go to screen 4 
    } else { 
     go to Screen 3 
    } 
} else { 
    go to screen 2 
} 

2)屏幕2 - 在onCreate()中:A.調用一些Web服務進行註冊。屏幕2完成的B.將標誌爲1

3)屏幕3 - 在的onCreate():A.調用一些Web服務。屏幕3完成B.將標誌爲1

4)屏幕4 - 這是主屏幕。在的onCreate():A.調用一些Web服務B.註冊廣播接收器C.啓動兩項服務

的問題是:當我安裝的應用程序運行正常。但是,當我關閉/殺應用程序,然後點擊圖標的應用程序啓動延遲時,國旗Screen2 == 1.也當Screen3 == 1.

我不明白爲什麼我的應用程序行爲是這樣的。

請提供您寶貴的建議和指導。

謝謝。

+0

在延遲期間,會發生什麼? – weston 2014-11-03 06:53:48

+0

那就是我沒有得到。就在點擊應用程序圖標後,應用程序圖標被禁用或變爲淡入淡出,大約30秒後應用程序啓動。 – 2014-11-03 07:00:29

回答

0

從哪裏獲得標誌? 如果是從數據庫保存並從首選項中檢索它。

以線程或後臺方式調用所有Web服務。

還可以在方法中啓動所有服務,並在線程或後臺服務中執行任務。

共享偏好有以下鏈接看看:

Link 1

Link 2

Link 3

而對於後臺任務:

Link 1

Link 2

Link 3

1

可能你是在onCreate中同步進行web服務調用。 onCreate中的任何http調用應該是異步的(使用線程或使用庫,如android volley - http://developer.android.com/training/volley/index.html

+0

我正在調用異步任務中的所有Web服務。 – 2014-11-03 07:59:28

+0

推送通知註冊如何? – Aun 2014-11-03 08:11:54

+0

這也是在異步任務。 – 2014-11-03 08:13:30