成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Android平臺下如何控制應用程序生命周期

移動開發 Android
Android各個應用在運行時的進程管理和內存管理都是相對獨立的,Android應用程序并不能控制自己的生命周期。本文將介紹如何控制應用程序生命周期。

我們向很多朋友介紹過Android特有的虛擬機:Dalvik虛擬機工作原理介紹。Android各個應用在運行時的進程管理和內存管理都是相對獨立的,Android應用程序并不能控制自己的生命周期。本文將介紹如何控制應用程序生命周期。

一、前言

與大多數傳統的操作系統環境不同,Android應用程序并不能控制自己的生命周期。所以應用的各個組件(activity,Service……)就得時刻小心的監聽應用的狀態變化對它們的影響,防止在不適當的時機被終止掉。(可能會造成數據丟失哦)

在Android中每個應用都具有獨立的進程運行在獨立的Dalvik(Android特有的虛擬機)。各個應用在運行時的進程管理和內存管理都是相對獨立的。Android使用一種“侵占性”的方式管理系統資源,這意味著為了釋放資源給高優先級的程序(通常情況下是正在與用戶進行直接交互的程序),某些進程及其宿主程序將會在沒有任何提示警告的情況下被無情的結束。

二、理解應用的優先級和進程狀態

結束一些進程是為了釋放回收資源,那么那些進程會被結束?是A先結束還是B先結束呢?這決定于宿主應用程序的優先級了。一個應用的優先級等同于具有***優先級的組件的優先級。如果此刻兩個程序具有相同的優先級,那么曾經哪個進程處于低優先級的時間較長,就會被結束掉。進程的優先級受到進程間附屬關系的影響,比如A應用依賴的Service或者Content Provider是由B應用提供的,那么B將會具有更高的優先級。所有的Android應用都會遺留在內存中運行,直到系統需要釋放回收資源才會被結束掉。

 


圖示:各種進程及其對應的優先級

Activity Process 活動進程是其宿主程序更用戶直接交互的組件,Android會嘗試通過回收各種資源來保證其運行狀態。此類進程數量少,通常是***被結束掉的。

活動進程包含下面幾種:

Activity處于激活狀態,也就是說處于foreground,接收響應用戶事件;

Activities, Services, or Broadcast Receivers 正在執行處理OnReceive 事件;

Services 正在執行處理 onStart, onCreate, or onDestroy 事件.

Visible Process 可視化,但是不處于活動狀態的Activity。它們不處于foreground也不接受響應用戶事件。這中情況發生在Activity有部分被覆蓋了(比如我們點擊A里面的一個按鈕,彈出一個Dialog,此時A就變成一個可視進程)。可視進程同樣很少,只有在極端的情況下,為了保證Activity Process的運行才會被結束掉。

Started Service Process 注意,是啟動后的服務進程。服務進程需要在沒有可視化界面的情況下持續運行,因為服務沒有和用戶直接交互。它們依然被認為是前臺進程,只有當Visible和Activity Process需要資源的時候才會被結束。

Background Process 一個進程附屬在不可視的Activity 也沒有任何啟動的服務進程就變成了后臺進程。通常情況下Android里面會有一大堆后臺進程,Android用 last-seen-first-killed 這種方式來結束此類進程,從而為foreground進程提供資源。

Empty Process 為了改善整個系統的性能,Android會在內存中保留已經結束生命周期的應用程序。Android保留這些緩存為了是應用能夠快速啟動。它們將會按照一貫的情況被結束掉。

綜上所述,正確的組織應用程序,確保穩定運行,防止運行中途被終止是非常重要的。

 

【編輯推薦】

  1. Nexus One作為Android測試機型
  2. Android平臺添新玩意 PHP將實現應用
  3. Google發布Android 2.2版本 超20項重要改動
責任編輯:張攀 來源: cnblogs
相關推薦

2015-07-09 15:42:48

ios應用生命周期

2013-07-31 14:50:32

Windows PhoWP應用程序生命周期

2009-06-24 10:34:39

JSF生命周期JSF應用程序

2011-07-20 15:58:58

iPhone 應用程序 生命周期

2014-02-24 10:50:32

DevOps云應用

2011-08-10 16:50:10

iPhone生命周期

2014-07-11 11:09:10

App應用程序生命周期

2023-12-21 08:00:00

ChatGPT人工智能大型語言模型

2013-09-26 11:20:34

Informatica

2012-05-28 15:37:20

WP程序生命周期

2025-04-28 01:22:00

2014-09-28 11:28:02

Android應用程序生命周期

2012-08-16 09:38:38

ASP.NET

2010-04-02 09:02:02

ASP.NET MVC

2012-06-20 10:29:16

敏捷開發

2014-07-16 13:39:30

Windows Pho

2009-06-05 11:14:15

Web程序生命周期OSGi Web容器

2011-06-16 09:31:21

ActivityAndroid

2010-01-26 17:00:31

Android生命周期

2009-05-21 09:12:41

Java開發平臺生命周期管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人a∨高清免费观看 老司机午夜性大片 | 亚洲精品在线播放 | 日韩中文字幕在线观看 | 国产一区二区不卡 | 亚洲 成人 在线 | 日韩欧美三级 | 女人牲交视频一级毛片 | 黄色香蕉视频在线观看 | 日韩在线播放网址 | 亚洲免费精品一区 | 天天看天天爽 | 欧美日韩视频网站 | 日韩精品人成在线播放 | 久久这里只有 | 亚洲国产成人精品久久久国产成人一区 | 亚洲激情网站 | 久久高清 | 国户精品久久久久久久久久久不卡 | 中文字幕亚洲一区 | 久久www免费人成看片高清 | 欧美亚洲视频在线观看 | 人人干人人超 | 成人福利影院 | 日韩欧美日韩在线 | 四虎成人精品永久免费av九九 | av色在线| 最新日韩精品 | 2021狠狠干 | 欧美一区二区三区在线观看视频 | 国产欧美在线播放 | 成人深夜福利 | 日韩在线小视频 | 免费国产视频 | 日韩中文字幕免费 | 久久久久久久av | 国产高清一二三区 | 一级在线| 国产精品免费一区二区三区四区 | 久久久久国产 | 91av免费观看 | 久久国产精品亚洲 |