0

在Android中,我如何在最高優先級的後臺運行某些東西?在可能的最高優先級的背景下運行一些東西

我明白我可以使用前臺服務,但我不想向用戶顯示通知。我需要運行一些CPU密集但短暫的事情。它需要有效地運行(否則將永遠佔用),但它只需要幾秒鐘。

目前我在主線程上運行它,因爲這是我確信它可以在幾秒鐘內完成所有測試設備的唯一方法。對於大多數設備來說,將它作爲(非前臺)服務運行良好,但在某些設備上它會花費近一分鐘的時間,這比鎖定用戶界面2秒更加不可接受,就像它目前所做的那樣。我也嘗試過AsyncTask,但它耗時太長。

+0

你可以發佈「在某些設備上花費近一分鐘」的代碼嗎?關於服務和綁定的信息可以在這裏找到,http://developer.android.com/guide/components/services.html – petey

+0

你可以找出爲什麼它需要接近一分鐘的一些設備? 1分鐘比2秒鐘大。我想原因是別的,爲什麼它需要一分鐘,我不認爲它持續獲得一分鐘的CPU。知道原因然後可以找出解決方案。 – cgr

+0

如何在單獨的進程上運行您的服務? – duynt

回答

0

無法保證在某段時間內會完成某些操作,並且無論是在UI線程還是後臺運行它都無所謂,因爲Android不是RTOS

根據你的描述,你必須使用的最好的匹配是IntentService