2011-03-01 97 views
1

我的應用程序中的服務無法始終處於活動狀態,所以我在需要時調用startService(),之後我調用stopService()。服務生命週期

但有時,當(在極少數情況下)用戶使用我的應用程序的某些功能時,可以多次啓動和停止該服務。我想知道是否有任何性能問題(多次啓動和停止服務),因爲在模擬器中工作正常。有更好的方法來做到這一點?

回答

1

如果您使用該服務來運行短任務,然後立即停止,爲什麼不檢查AsyncTask

on {Pre,Post} Execute()方法對於基於AsyncTasc的輸入/結果與UI線程進行交互也很有用。

+0

您應該知道,從一個活動運行後臺工作並不總像看起來那麼簡單。原因是Android會不時破壞並創建新的活動(例如,在旋轉屏幕時)。這意味着當後臺任務後運行的UI代碼想要訪問活動及其視圖時,它們不再存在(或不起作用)。 – 2012-08-07 10:24:03

0

如果模擬器一切正常,那麼不要擔心。它比任何真正的Android設備都慢。

一般來說,不要打擾自己的表現,直到你清楚地看到一個問題。在這個時刻測量時間,找到有問題的地方,優化它,並確保時間減少,問題消失。