1. 程式人生 > >Android Application的作用以及生命週期

Android Application的作用以及生命週期

第一篇技術文件來先了解下Application。

Android 和activity,service一樣都是Android的系統控制元件。Application 只建立一個,屬於單例模式。

如何使用Application:

定義一個類MyApplication繼承Application類,然後在AndroidManifest.xml中註冊。

<application android:label="@string/app_name"
 	    android:name=".MyApplication">

MyApplication myApplication;

在activity只需呼叫getApplication()方法就能獲取Application物件。如myApplication = (MyApplication )getApplication();

在其他組建中只需呼叫getApplicationContext()方法就能獲取Application物件。如myApplication = (MyApplication)getApplicationContext();

Application的作用:

1.定義全域性屬性和全域性方法。

2.在應用程式元件中傳遞物件。

3.定義快取。

Application的生命週期:

Application 的生命週期是整個程式最長的,它的生命週期相當於程式的生命週期。

Application 為應用程式的建立終止,低可用記憶體和配置改變提供了時間處理程式,我們只需要重寫以下只寫方法

onCreate方法 

在建立應用程式的時候呼叫。可以使用方法去初始化一些全域性屬性。

onLowMemory方法

這個方法一般只會在後臺程序已經終止,前臺應用程式仍然缺少記憶體時呼叫。可以在這個方法內清空快取或者釋放不必要的資源。

onTrimMemory方法

作為OnLowMemory的一個特定於應用程式的替代選擇,在Android4.0(API level 13)中引入。當執行時絕頂當前應用程式應該嘗試減少其記憶體開銷時(通常是它進入後臺時)呼叫。

onConfigurationChanged方法

與activity不同,在配置改變時,應用程式物件不會被終止或重啟。如果應用程式使用的值依賴於特定的配置,則重寫這個方法來重新載入這些值或者在應用程式級別處理配置改變。

相關推薦

Android Application作用以及生命週期

第一篇技術文件來先了解下Application。 Android 和activity,service一樣都是Android的系統控制元件。Application 只建立一個,屬於單例模式。 如何使用Application: 定義一個類MyApplication繼承Ap

Android 深刻理解Activity生命週期作用及意義

前言    Activity生命週期是研究Android開發最基礎的知識點之一,熟練掌握生命週期的特性可以在實際開發中避免踩坑。比如,一些UI的初始化和回收操作、框架庫的註冊於反註冊(摧毀)、執行緒的啟動和停止等。另外,本文在最後章節還會講解系統回收造成的問題。本文就是針對各

Android的四大元件以及生命週期和啟動方式(初步簡介)

前言:生命不止,學習不止。我們為了一個更好的薪資加強學習,讓我們在知識的海洋裡遨遊...... Android四大基本元件分別是Activity,Service服務,Content Provider內

【譯】WebAPI,Autofac,以及生命週期作用

說明 原文地址:http://decompile.it/blog/2014/03/13/webapi-autofac-lifetime-scopes/ 介紹 這是一篇關於AutoFac的生命週期作用域的文章。 關於生命週期域一直以來都是一個令人頭疼的命題,其中有些概念極易造成誤解和混淆,比如域內單例(PerL

Android的activity的生命週期解析

Android官方文件和其他不少資料都對Activity生命週期進行了詳細介紹,在結合資料和專案開發過程中遇到的問題,本文將對Activity生命週期進行一次總結。 Activity是由Activity棧進管理,當來到一個新的Activity後,此Activity將被加入到Activit

Android viewPager Fragment 切換生命週期

記錄一下: 場景: 上面是一個很常見的一個切換效果:結果一般都是一個主Activity,裡面佈局了一個TabLayout+ViewPager,ViewPager裡面添加了4個Fragment,假如日期時間為A,聲音設定為B 開關機設定為C,認證模式 為D 第一步:列印一下主要的Log

Maven學習筆記(二)--maven基本命令以及生命週期

Maven基本命令 -v:查詢Maven版本  本命令用於檢查maven是否安裝成功。  Maven安裝完成之後,在命令列輸入mvn -v,若出現maven資訊,則說明安裝成功。 compile:編譯  將Java原始檔編譯成class檔案

Gradle系列之三 Gradle概述以及生命週期

1 Gradle是一種程式設計框架 gradle主要由以下三部分組成 1 groovy核心語法 2 build script block 3 gradle api 注:本章所有的程式碼都在 https://github.com/jiulu313/gradl

Vue學習(7)————————元件以及生命週期函式,vue-resource請求資料

首先建立一個Home.vue檔案 <template> <div> <p>{{msg}}</p> <button v-on:click="headRun()">跑</button> </di

java多執行緒(一):執行緒的五種基本狀態以及生命週期

1、Java執行緒具有五中基本狀態: 新建狀態(New):當執行緒物件對建立後,即進入了新建狀態,如:Thread thread1 = new MyThread(); 就緒狀態(Runnable):當呼叫執行緒物件的start()方法[ 如:thread1 .start(); ],執行緒

servlet是什麼?工作原理以及生命週期

1、你對servlet的理解?或者servlet是什麼?     1)servlet介面定義的是一套處理網路請求的規範,所有實現servlet的類,都需要實現它那五個方法,其中最主要的是兩個生命週期方法 init()初始化和destroy()銷燬,還有一個處理請求的se

Android學習筆記2-生命週期

元件的生命週期   應用程式元件都有一個生命週期,從響應Intent的Android例項開始到這個例項被銷燬。在這期間,他們或許有效或許無效,有效時或許對使用者可見或許不可見。下面我們就來討論四個基本元件的生命週期,包括在生命週期內的各種狀態,以及狀態之間的轉換。這幾種狀態可

Servlet的學習:Servlet簡介以及生命週期

1.Servlet簡介 Servlet執行在伺服器端,是由Web伺服器負責載入的,是獨立於平臺和協議的Java應用程式。Servlet並不限制所使用的協議,但是使用最多的協議是HTTP協議。 2.Servlet的生命週期 servlet 執行在servlet

Android--測試Activity的生命週期事件及其回撥方法

//activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="h

Gradle系列之三 Gradle概述以及生命週期

1 Gradle是一種程式設計框架 gradle主要由以下三部分組成 1 groovy核心語法 2 build script block 3 gradle api 如下圖 2 Gradle的優勢 1 更加的靈活,因為gradle是程式設計框架,所以功能要強大的多 2 粒度性上,原始碼的編譯,資源的編

[Android]Fragment 初探索|生命週期|懶載入|重疊解決

一、Fragment介紹 Fragment是在Android 3.0 (API level 11)開始引入的,它能讓你的app在現有基礎上效能大幅度提高,並且佔用記憶體降低,同樣的介面Activity佔用記憶體比Fragment要多,響應速度Fragment比Activty在中低端手機上快了

angular4.x學習筆記 --元件以及生命週期

元件自從採用元件化的React大火之後,目前市面上炙手可熱的框架全都採用了元件化的理念,Angular當然也不能落後了。可以說,元件化是Angular的核心理念。按Angular在中國的佈道者大漠窮秋的話來說,就是:Angular的核心概念是元件,模組化機制NgModule是

實驗一 第一個Android程式和Activity生命週期

實驗一 第一個Android程式和Activity生命週期 實驗目的 實驗要求 工程程式碼 實驗目的 生成執行第一個Android程式,熟悉瞭解Android手機開發平臺的基本構成和使用方法,熟悉Android應用

android四大元件--Activity生命週期

在android系統中Activity作為Activity棧(Stack)被管理,當前活動的Activity處於棧頂,之前的非活動Activity被壓入下面成為非活動Activity,等待是否可能被恢復為活動狀態。 在上圖中我們可以將Activity的生命週期分為以下

Android中的Activity生命週期

       說到生命週期,對於程式設計師來說並不陌生。如果學過Servlet的朋友,就更不會陌生了餓,其實差不多,android的生命週期與Servlet的生命週期有相似之處 。             Android的生命週期通常是有這樣幾個方法構成:onCreate()、onStart()、onPau