91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

onConfigurationChanged的作用

發布時間:2020-07-10 21:13:26 來源:網絡 閱讀:656 作者:技術人 欄目:移動開發

onConfigurationChanged的作用

API原文說明:
android:configChanges
Lists configuration changes that the activity will handle itself. When a configuration change occurs at runtime, the activity is shut down and restarted by default, but declaring a configuration with this attribute will prevent the activity from being restarted. Instead, the activity remains running and its onConfigurationChanged() method is called.

Any or all of the following strings are valid values for this attribute. Multiple values are separated by '|' — for example, "locale|navigation|orientation".

onConfigurationChanged的作用

All of these configuration changes can impact the resource values seen by the application. Therefore, when onConfigurationChanged() is called, it will generally be necessary to again retrieve all resources (including view layouts, drawables, and so on) to correctly handle the change.

 

在一些特殊的情況中,你可能希望當一種或者多種配置改變時避免重新啟動你的activity。你可以通過在manifest中設置android:configChanges屬性來實現這點。
你可以在這里聲明activity可以處理的任何配置改變,當這些配置改變時不會重新啟動activity,而會調用activity的
onConfigurationChanged(Resources.Configuration)方法。如果改變的配置中包含了你所無法處理的配置(在android:configChanges并未聲明),
你的activity仍然要被重新啟動,而onConfigurationChanged(Resources.Configuration)將不會被調用。

其次:android:configChanges=""中可以用的值:keyboard|mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation……
Configuration 類中包含了很多種信息,例如系統字體大小,orientation,輸入設備類型等等.(如上圖)
比如:android:configChanges="orientation|keyboard|keyboardHidden"

 

當Configuration改變后,ActivityManagerService將會發送"配置改變"的廣播,會要求ActivityThread 重新啟動當前focus的Activity.
這是默認情況,我們不做任何處理,如果我們android:configChanges來配置Activity信息,那么就可以避免對Activity銷毀再重新創建,而是調用
onConfigurationChanged方法。

通過查閱Android API可以得知android:onConfigurationChanged實際對應的是Activity里的onConfigurationChanged()方法。
在AndroidManifest.xml中添加上訴代碼的含義是表示在改變屏幕方向、彈出軟件盤和隱藏軟鍵盤時,不再去執行onCreate()方法,
而是直接執行onConfigurationChanged()。如果不申明此段代碼,按照Activity的生命周期,都會去執行一次onCreate()方法,而onCreate()方法通常會在顯示之前做一些初始化工作。所以如果改變屏幕方向這樣的操作都去執行onCreate()方法,就有可能造成重復的初始化,降低程序效率是必然的了,而且更有可能因為重復的初始化而導致數據的丟失。這是需要千萬避免的。


參考:
Android學習筆記——關于onConfigurationChanged
http://www.cnblogs.com/wisekingokok/archive/2011/10/06/2199948.html

onConfigurationChanged信息處理 監聽屏幕旋轉 語言變換 鍵盤滑動 
http://fghzhaopai.blog.163.com/blog/static/4780555620116882211560/


向AI問一下細節
推薦閱讀:
  1. uboot的作用
  2. key的作用

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上虞市| 丰宁| 汉寿县| 武山县| 恭城| 柳州市| 吴川市| 青冈县| 宝坻区| 温泉县| 丽水市| 体育| 寿宁县| 西乌珠穆沁旗| 河北省| 南昌县| 花莲县| 黑河市| 胶州市| 中西区| 绥宁县| 来宾市| 延安市| 桃园县| 山东| 佛冈县| 景洪市| 合肥市| 淮滨县| 合江县| 双峰县| 二连浩特市| 嵊泗县| 河曲县| 宽城| 揭西县| 阳泉市| 航空| 娄底市| 丰镇市| 上杭县|