Activity的橫豎屏生命週期

2022-05-20 13:03:15 字數 1847 閱讀 7774

接下來,我們補充一下activity的橫豎屏生命週期的變化。

先上**吧:

package com.sunofbeaches.activitylifecircledemo;

import android.os.bundle;

import android.util.log;

/** * created by trillgates on 17/12/12.

* god bless my code!

*/public class landscapeactivity extends activity

@override

protected void onstart()

@override

protected void onresume()

@override

protected void onpause()

@override

protected void onstop()

@override

protected void ondestroy()

}

這是我們要測試的activity**,把生命週期方法都打log出來了。

然後我們跑起來看看:

接著,我們這個按鈕

可以看到的是,activity執行了onpause,再執行onstop和ondestroy方法。 也就是說,它先是走完了自己的生命週期,再重新開始。

對於橫豎屏生命週期的總結是:先銷毀掉原來的生命週期,然後再重新跑一次。

那怎麼樣處理橫豎屏的生命週期呢?

第一種方法,寫它橫豎屏,也就是說,指定該activity是橫屏或者是豎屏,在那裡修改呢? 在配置檔案裡修改:

假設說,我們修改為橫屏,一般來說,遊戲橫屏的比較多嘛,比較方便操作。

android:screenorientation="landscape">

intent-filter>

activity>

修改成橫屏了,我們再跑一次。發現它直接就橫屏顯示了。

接著我們點選切換橫豎屏的按鈕:

生命週期沒有發生變化,但是,螢幕卻豎起來了。

那有沒有一種方式,能讓螢幕隨著螢幕的旋轉而旋轉,但是並不硬性生命週期的變化呢?

是可以的呢,我們需要設定一下忽略的配置變化就可以啦!

怎麼設定呢?

執行結果呢?

從上圖來看,可以知道生命週期並沒有發生改變,但是我們ui已經切換過來了,對吧!

activity的橫豎屏切換

activity橫豎屏切換的生命週期 1 不設定activity的android configchanges時,切屏會重新呼叫各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次 2 設定activity的android configchanges orientation 時,切屏還是會重新呼叫各個...

橫豎屏切換時候activity的生命週期

1 不設定 activity 的android configchanges 時,切屏會重新呼叫各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次 2 設定 activity 的android configchanges orientation 時,切屏還是會重新呼叫各個生命週期,切橫 豎屏時只會執...

關於橫豎屏切換時Activity生命週期的問題

activity的生命週期和專案清單檔案裡面的配置有關係 3 設定activity的android configchanges orientation keyboardhidden 時,切屏不會重新呼叫各個生命週期,只會執行onconfigurationchanged方法 以上是android 3....