亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

清苑县| 中超| 宜章县| 桃江县| 布拖县| 景宁| 渝北区| 松江区| 邵阳县| 新巴尔虎右旗| 巩义市| 平阳县| 崇信县| 尉犁县| 宝应县| 昂仁县| 襄汾县| 河北区| 阳山县| 长宁县| 玉溪市| 东明县| 郸城县| 奉化市| 黄冈市| 高唐县| 阿拉善右旗| 宣威市| 襄城县| 兰坪| 光山县| 阿拉善盟| 京山县| 平定县| 贡觉县| 巴东县| 阿图什市| 宾川县| 长宁区| 剑川县| 封丘县|