編輯:關於Android編程
問題:橫豎屏切換時Activity的生命周期?
測試環境:華為mate7
package com.virglass.beyond.activity; import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; import com.virglass.beyond.utils.LogUtil; /** * 系統設置更改 * @author Administrator * */ public class ConfigurationActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_configuration); LogUtil.e(jintuo, ==== onCreate() ====); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); LogUtil.e(jintuo, ==== onStart() ====); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); LogUtil.e(jintuo, ==== onRestart() ====); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); LogUtil.e(jintuo, ==== onResume() ====); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); LogUtil.e(jintuo, ==== onPause() ====); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); LogUtil.e(jintuo, ==== onStop() ====); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); LogUtil.e(jintuo, ==== onDestroy() ====); } @Override public void onConfigurationChanged(Configuration newConfig) { // TODO Auto-generated method stub super.onConfigurationChanged(newConfig); LogUtil.e(jintuo, ==== onConfigurationChanged() ====); } }
1、第一種情況:AndroidMainfist不設置Activity的android:configChanges時
橫屏切換到豎屏Log 打印如下:
總結:AndroidMainfist不設置Activity的android:configChanges時 橫屏切換豎屏/豎屏切換橫屏Activity各生命周期方法只調用一次。
2、第二種情況:設置Activity的android:configChanges=”orientation”時
豎屏切換到橫屏 Log 打印如下:
橫屏切換到豎屏Log 打印如下:
總結:豎屏切換橫屏時先調用onConfigurationChanged()方法,再調用Activity各生命周期方法, 橫屏切換到豎屏只掉用onConfigurationChanged()方法。
3、第三種情況:設置Activity的android:configChanges=orientation|keyboard|keyboardHidden|screenSize 時
豎屏切換到橫屏 Log 打印如下:
橫屏切換到豎屏Log 打印如下:
總結: 橫屏切換到豎屏,豎屏切換到橫屏各調用一次onConfigurationChanged() 方法
4、第四種情況:設置Activity的android:configChanges=”orientation|keyboard|keyboardHidden” 時 一個或多個執行結果和第二種結果相同。
5、第五種情況:在第三種情況基礎上再設置Activity的android:screenOrientation=portrait 屬性,橫豎屏切換無任何打印。
java虛擬機運行一般都有一個內存界限,超過這個界限,就會報outofmemory。這個時候一般都是存在內存洩漏。解決內存洩漏問題,竊以為分為兩個步驟:分析應用程序是否真
Android DragVideo實現播放視頻時任意拖拽DragVideoA Method to Drag the Video When Playing Video一種在
ActionBar動作欄 一、ActionBar:(動作欄) (一)、簡介:(擴展TitleBar) Action bar(動作欄)是一個導航控
1.如何改變item的背景色和按下顏色 listview默認情況下,item的背景色是黑色,在用戶點擊時是黃色的。如果需要修改為自定義的背景顏色,一般情況下有三種