91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android項目中如何避免service在后臺中被kill掉

發布時間:2020-11-23 16:42:41 來源:億速云 閱讀:1067 作者:Leah 欄目:移動開發

這篇文章將為大家詳細講解有關Android項目中如何避免service在后臺中被kill掉,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一、onStartCommand方法,返回START_STICKY

  START_STICKY 在運行onStartCommand后service進程被kill后,那將保留在開始狀態,但是不保留那些傳入的intent。不久后service就會再次嘗試重新創建,因為保留在開始狀態,在創建     service后將保證調用onstartCommand。如果沒有傳遞任何開始命令給service,那將獲取到null的intent。

  START_NOT_STICKY 在運行onStartCommand后service進程被kill后,并且沒有新的intent傳遞給它。Service將移出開始狀態,并且直到新的明顯的方法(startService)調用才重新創建。因為如果沒有傳遞任何未決定的intent那么service是不會啟動,也就是期間onstartCommand不會接收到任何null的intent。

  START_REDELIVER_INTENT 在運行onStartCommand后service進程被kill后,系統將會再次啟動service,并傳入最后一個intent給onstartCommand。直到調用stopSelf(int)才停止傳遞intent。如果在被kill后還有未處理好的intent,那被kill后服務還是會自動啟動。因此onstartCommand不會接收到任何null的intent。 

二、提升service優先級      

  在AndroidManifest.xml文件中對于intent-filter可以通過android:priority = "1000"這個屬性設置最高優先級,1000是最高值,如果數字越小則優先級越低,同時適用于廣播。

三、提升service進程優先級

  Android中的進程是托管的,當系統進程空間緊張的時候,會依照優先級自動進行進程的回收。Android將進程分為6個等級,它們按優先級順序由高到低依次是:

   1.前臺進程( FOREGROUND_APP)

   2.可視進程(VISIBLE_APP )

   3.次要服務進程(SECONDARY_SERVER )  

   4.后臺進程 (HIDDEN_APP)

   5.內容供應節點(CONTENT_PROVIDER)

   6.空進程(EMPTY_APP)

當service運行在低內存的環境時,將會kill掉一些存在的進程。因此進程的優先級將會很重要,可以使用startForeground 將service放到前臺狀態。這樣在低內存時被kill的幾率會低一些。

四、onDestory里面發送廣播重啟service

service +broadcast  方式,就是當service走ondestory的時候,發送一個自定義的廣播,當收到廣播的時候,重新啟動service;

五、Application加上Persistent屬性

六、監聽系統廣播判斷Service狀態

通過系統的一些廣播,比如:手機重啟、界面喚醒、應用狀態改變等等監聽并捕獲到,然后判斷我們的Service是否還存活,別忘記加權限啊。

七、雙進程Service

讓2個進程互相保護,其中一個Service被清理后,另外沒被清理的進程可以立即重啟進程

八、聯系廠商,加入白名單

關于Android項目中如何避免service在后臺中被kill掉就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金坛市| 临江市| 衡山县| 镇雄县| 华阴市| 晋城| 宁波市| 开平市| 伽师县| 乌兰县| 会宁县| 静宁县| 麻城市| 郯城县| 彰化县| 彭山县| 南汇区| 湟源县| 泗水县| 台中市| 龙口市| 怀柔区| 东明县| 宜良县| 台南县| 闵行区| 彭州市| 疏勒县| 托克托县| 武夷山市| 大足县| 呈贡县| 台前县| 济南市| 无锡市| 亳州市| 淮南市| 瑞安市| 白城市| 连山| 泸西县|