Android(java)學習筆記225:服務(service)之為什麼使用服務

來源:互聯網
上載者:User

標籤:

1.服務 service 長期在後台啟動並執行進程,一般沒有應用程式介面
2.進程線程和應用程式之間的關係 應用程式開啟,系統啟動一個Linux進程,所有的組件都是運行在同一個進程的同一個線程(main)裡面。
(1)Process lifecycle 進程的生命週期 Android作業系統會儘可能長期的保留應用程式的進程,系統根據進程的優先順序回收進程,釋放記憶體。 如果進程被系統回收了,開啟的所有的線程都不在了
(2) Foreground process 前台進程 你還能看到應用程式的介面,並且可以操作這個應用程式
Visible process 可視進程 你可以看到這個應用程式,但是操作不了
Service process 服務進程 應用程式帶一個後台啟動並執行服務,服務沒有停止
Background process 後台進程 應用程式被最小化,但是沒有退出
Empty process 空進程 應用程式沒有任何活動的組件了
優先順序排序: 前台進程 >  可視進程  服務進程  後台進程  空進程

(3) 問題:如果開啟子線程,也可以沒有介面,長期後天運行。為什麼不用子線程,而是使用service?
    如果使用子線程(後台進程)實現後台運行,一旦系統發現記憶體不足,就會根據優先順序回收進程,釋放記憶體; 服務( 服務進程) 系統發現記憶體不足,由於 服務進程優先順序中等,不會最先回收,而且就算回收了服務進程, Android系統一旦發現記憶體充足的時候,就會自動重啟服務進程。



















來自為知筆記(Wiz)

Android(java)學習筆記225:服務(service)之為什麼使用服務

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.