安卓基礎(生命周期)

  • 創建階段onCreate方法被調用,用于初始化 Activity,如設置布局等。
  • 啟動階段:依次調用onStartonResume方法,讓 Activity 變得可見并可與用戶交互。
  • 暫停與恢復階段:當 Activity 失去焦點但可見時,onPause方法被調用,可用于保存臨時數據等;當 Activity 重新獲得焦點時,onResume方法被調用,恢復相關操作。
  • 停止與銷毀階段:當 Activity 完全不可見時,onStop方法被調用,可釋放一些資源;最后,onDestroy方法被調用,用于徹底清理資源,如釋放內存等。

在安卓生命周期中,“Resume” 的意思是 “恢復”。當一個 Activity 從暫停狀態(比如用戶切換到其他應用后又切回該 Activity)重新回到前臺并獲得焦點,可與用戶進行交互時,就會調用onResume方法,意味著 Activity 恢復到可正常運行的狀態。

首次啟動 Activity

當你啟動一個應用程序,對應的 Activity 首次顯示在屏幕上時,會依次調用以下生命周期方法:

  1. onCreate:應用程序啟動,系統創建 Activity 實例,此方法會被調用,用于初始化 Activity 的基本設置,如加載布局、初始化變量等。
  2. onStart:Activity 即將對用戶可見,系統調用此方法,做好展示準備。
  3. onResume:Activity 獲得焦點,可與用戶交互,此時 Activity 處于前臺運行狀態。

用戶按下 Home 鍵

當你在應用運行時按下手機的 Home 鍵,Activity 會進入后臺,此時會依次調用以下方法:

  1. onPause:Activity 失去焦點,但仍然可見,此方法用于暫停一些正在進行的操作,如暫停視頻播放、暫停動畫等。
  2. onStop:Activity 完全不可見,系統調用此方法,可在此釋放一些占用資源的對象。

用戶再次回到應用

在按下 Home 鍵使應用進入后臺后,當你再次打開該應用時,Activity 會從停止狀態重新啟動,依次調用以下方法:

  1. onRestart:Activity 從停止狀態重新啟動,此方法會被調用。
  2. onStart:Activity 再次變得可見。
  3. onResume:Activity 重新獲得焦點,可與用戶交互。

關閉 Activity

當你通過點擊返回鍵或者調用?finish()?方法關閉當前 Activity 時,會依次調用以下方法:

  1. onPause:Activity 失去焦點。
  2. onStop:Activity 完全不可見。
  3. onDestroy:Activity 被銷毀,系統回收相關資源。

屏幕旋轉

當你旋轉手機屏幕時,Activity 會被銷毀并重新創建,依次調用以下方法:

  1. onPause:Activity 失去焦點。
  2. onStop:Activity 完全不可見。
  3. onDestroy:Activity 被銷毀。
  4. onCreate:系統重新創建 Activity 實例。
  5. onStart:Activity 即將可見。
  6. onResume:Activity 獲得焦點,可與用戶交互。

打開新的 Activity

當當前 Activity 啟動一個新的 Activity 時,當前 Activity 會進入后臺,依次調用以下方法:

  1. onPause:Activity 失去焦點,但仍然可見。
  2. onStop:Activity 完全不可見。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76183.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76183.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76183.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Uniapp: 下拉選擇框 ba-tree-picker

目錄 1、效果展示2、如何使用2.1 插件市場2.2 引入插件 3、參數配置3.1 屬性3.2 方法 4、遇見的問題4.1、設置下拉樹的樣式 1、效果展示 2、如何使用 2.1 插件市場 首先從插件市場中將插件導入到項目中 2.2 引入插件 在使用的頁面引入插件 <view click"showPicke…

Spring Boot實戰:基于策略模式+代理模式手寫冪等性注解組件

一、為什么需要冪等性&#xff1f; 核心定義&#xff1a;在分布式系統中&#xff0c;一個操作無論執行一次還是多次&#xff0c;最終結果都保持一致。 典型場景&#xff1a; 用戶重復點擊提交按鈕網絡抖動導致的請求重試消息隊列的重復消費支付系統的回調通知 不處理冪等的風…

如何恢復極狐GitLab?

極狐GitLab 是 GitLab 在中國的發行版&#xff0c;關于中文參考文檔和資料有&#xff1a; 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 恢復極狐GitLab (BASIC SELF) 極狐GitLab 提供了一個命令行界面來恢復整個安裝&#xff0c;足夠靈活以滿足您的需求。 恢復…

面試高階問題:android后臺任務(如數據同步、定位)消耗過多電量,導致用戶投訴。你會如何分析和優化后臺任務的執行?

在現代移動設備生態中,安卓系統以其開放性和靈活性占據了全球智能手機市場的絕大部分份額。作為一款功能強大的操作系統,安卓允許應用程序在后臺執行各種任務,例如數據同步、定位服務、消息推送以及其他周期性更新。這些后臺任務在提升用戶體驗方面扮演了不可或缺的角色——…

最近在學習web搞大屏看板

人到中年&#xff0c;delphi發展越來越不行&#xff0c;就業環境是真差啊&#xff0c;沒辦法&#xff0c;學唄 中國地圖&#xff1a; // 中國地圖function getChinaMapChart() {// 初始化echarts實例var myEcharts echarts.init(document.getElementById("china_box"…

117.在 Vue 3 中使用 OpenLayers 實現 CTRL 控制拖拽和滾動縮放

? 前言 在使用 OpenLayers 開發地圖類項目時,我們有時會希望用戶必須按下 CTRL(或 Mac 的 Command ? 鍵)才能拖拽地圖或使用鼠標滾輪縮放。這種交互方式能夠避免用戶在瀏覽頁面時意外滑動或拖動地圖,尤其是在地圖嵌入頁面中時非常有用。 本文將帶你一步一步實現在 Vue …

MATLAB 控制系統設計與仿真 - 34

多變量系統知識回顧 - MIMO system 這一章對深入理解多變量系統以及魯棒分析至關重要 首先,對于如下系統: 當G(s)為單輸入,單輸出系統時: 如果: 則: 所以 因此,對于SISO,系統的增益跟w有關系, 當G(s)為MIMO時,例如2X2時, 假設輸入信號為:

ARCGIS PRO DSK 利用兩期地表DEM數據計算工程土方量

利用兩期地表DEM數據計算工程土方量需要準許以下數據&#xff1a; 當前地圖有3個圖層&#xff0c;兩個柵格圖層和一個矢量圖層 兩個柵格圖層&#xff1a;beforeDem為工程施工前的地表DEM模型 afterDem為工程施工后的地表DEM模型 一個矢量圖層&#xf…

最快打包WPF 應用程序

在 Visual Studio 中右鍵項目選擇“發布”&#xff0c;目標選“文件夾”&#xff0c;模式選“自包含”&#xff0c;生成含 .exe 的文件夾&#xff0c;壓縮后可直接發給別人或解壓運行&#xff0c;無需安裝任何東西。 最簡單直接的新手做法&#xff1a; 用 Visual Studio 的“…

物聯網通信協議——TCP與MQTT的對比

在物聯網通信中&#xff0c;MQTT和TCP的實現方式和原理完全不同&#xff0c;因為兩者屬于協議棧的不同層級&#xff0c;解決的問題也不同。以下從協議層級、工作機制和典型場景三個角度詳細解釋&#xff1a; 1. 協議層級與定位 特性TCPMQTT協議層級傳輸層&#xff08;第4層&am…

【信息系統項目管理師】高分論文:論信息系統項目的成本管理(媒體融合采編平臺)

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 論文1、規劃項目成本管理2、估算成本3、制訂項目預算4、控制成本論文 2017年7月,我作為項目經理參與了 XX省媒體融合采編平臺的建設,該項目總共投資530萬元,其中服務器、存儲、網絡等硬件設備投資200萬元、軟…

策略模式簡單介紹

什么是策略模式&#xff1f;一般用于什么場景&#xff1f; 策略模式一種行為型設計模式&#xff0c;它定義了一系列算法&#xff0c;并將每個算法封裝起來&#xff0c;使得它們可以相互替換&#xff0c;這樣&#xff0c;客戶端可以根據需要在運行時選擇合適的算法&#xff0c;…

基于PAI+專屬網關+私網連接:構建全鏈路 Deepseek 云上私有化部署與模型調用架構

DeepSeek - R1 是由深度求索公司推出的首款推理模型&#xff0c;該模型在數學、代碼和推理任務上的表現優異&#xff0c;市場反饋火爆。在大模型技術商業化進程中&#xff0c;企業級用戶普遍面臨四大核心挑戰&#xff1a; 算力投入成本高昂&#xff1a;構建千億參數級模型的訓…

【APM】How to enable Trace to Logs on Grafana?

系列文章目錄 【APM】Observability Solution 【APM】Build an environment for Traces, Metrics and Logs of App by OpenTelemetry 【APM】NET Traces, Metrics and Logs to OLTP 【APM】How to enable Trace to Logs on Grafana? 前言 本文將介紹如何在Grafana上啟用 …

在 Excel 中使用通義靈碼輔助開發 VBA 程序

VBA 簡介 VBA 是一種用于微軟辦公套件&#xff08;如 Word、Excel、PowerPoint 等&#xff09;的編程語言&#xff0c;它本質上是一種內嵌的腳本&#xff0c;或者可以認為是一段命令&#xff0c;其標準叫法被稱為宏。 VBA 只能依賴于對應的軟件進行開發&#xff0c;例如本文就…

vscode終端運行windows服務器的conda出錯

遠程windows服務器可以運行&#xff0c;本地vscode不能。 打開vscode settings.json文件 添加conda所在路徑

紫外相機的應用范圍及介紹

&#xff08;一&#xff09;工業領域 半導體制造&#xff1a;在晶圓制造和檢測過程中&#xff0c;紫外相機起著關鍵作用。它可用于裸晶圓檢測&#xff0c;能準確識別出制造過程中偶然引入的微粒&#xff08;如灰塵&#xff09;或因處理不當造成的劃痕等缺陷。對于圖案晶圓檢查…

08軟件測試需求分析案例-刪除用戶

刪除用戶是后臺管理菜單的一個功能模塊&#xff0c;只有admin才有刪除用戶的權限。不可刪除admin。 1.1 通讀文檔 通讀需求規格說明書是提取信息&#xff0c;提出問題&#xff0c;輸出具有邏輯、規則、流程的業務步驟。 信息&#xff1a;此功能應為用戶提供確認刪除的功能。…

Oracle DBMS_SCHEDULER 與 DBMS_JOB 的對比

Oracle DBMS_SCHEDULER 與 DBMS_JOB 的對比 一 基本概述對比 特性DBMS_JOB (舊版)DBMS_SCHEDULER (新版)引入版本Oracle 7 (1992年)Oracle 10g R1 (2003年)當前狀態已過時但仍支持推薦使用的標準設計目的基礎作業調度企業級作業調度系統 二 功能特性對比 2.1 作業定義能力 …

Linux網絡編程實戰:從字節序到UDP協議棧的深度解析與開發指南

網路通信的三大要素&#xff1a;協議&#xff0c;端口和IP 知識點1【字節序】 多字節在主機中的存放數據 把多字節看成一個整體存儲的順序。 為什么我們在文件中沒有這個概念呢&#xff1f; 因為文件是字節流&#xff08;流指針&#xff09;&#xff0c;流是以一個字節為操…