不可以。
Service和activity是運行在當前app所在的main thread(UI主線程)中的,而耗時操作(如:網絡請求、拷貝數據、大文件)會阻塞主線程,給用戶不好的體驗。
Broadcase耗時操作爲10秒,Activity耗時操作爲5秒
Service耗時操作爲20秒
如果需要在服務中進行耗時操作,可以選擇IntentService, IntentService是Service的子類,用來處理異步請求。
IntentService在onCreate()方法中通過HandlerThread單獨開啓一個線程來處理Intent請求對象所對應的任務,這樣可以避免事務處理阻塞主線程。
onHandleIntent()函數針對Intent的不同進行不同的事務處理就可以,執行完一個Intent請求對象所對應的工作之後,如果沒有新的Intent請求達到,則自動停止Service; 否則ServiceHandler會取得下一個Intent請求
傳入該函數來處理其所對應的任務。