接下來,我們補充一下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....