當啟動的程式正在執行某些處理時,例如載入loading條或者等待操作,我們將手機旋轉螢幕,你會發現,系統會被強制重設啟動onCreate方法。
解決方案:修改檔案AndroidManifest.xml,添加了android:configChanges="orientation|keyboardHidden"
android:configChanges,這個方法主要是負責列出清單,當清單上使用者指定的設定改變時,Activity會自己處理這些變化。
orientation,螢幕介面旋轉(可能是使用者手動旋轉的),
【注意:如果你的開發API等級等於或高於13,你還需要設定screenSize,因為screenSize會在旋轉螢幕時改變】
keyboardHidden,鍵盤協助工具功能改變 至此,我們就完成了旋轉螢幕時,不會重啟Activity的onCreate方法了。
如果你需要在旋轉螢幕改變時,進行一些處理,怎麼做呢?
處理方法:在相對應的Activity中繼承重寫onConfigurationChanged方法,這個方法將會在我們的應用發生變化時,讓我們能隨心所謂地進行監聽處理。
/** * 防止在旋轉時,重啟Activity的onCreate方法 */ @Override public void onConfigurationChanged(Configuration newConfig) { // TODO Auto-generated method stub super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // 橫屏的操作 System.out.print("橫屏"); } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 豎屏的操作 System.out.print("豎屏"); } }
來源:http://blog.csdn.net/wike163/article/details/7718734