首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 18061|回復(fù): 0
上一主題 下一主題
[教程]

簡要分析Configuration 的變化過程之 updateConfigurationLocked

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
8   
  最近需要研究一下有關(guān)Configuration的一些東西,本來想寫一篇長篇大論,分析自己所看到的現(xiàn)象跟過程,不過本人太懶了,沒耐心,所以一點(diǎn)一點(diǎn)來吧。。。   
   
   這次先發(fā)一點(diǎn)自己整理的書上的東西。。。   
  不一定都對(duì),希望大家多多指正,互相交流。   
   
*******************我是正文的分割線******************   
   
   
1) Activity中onConfigurationChanged()會(huì)在AMS中的中被調(diào)用,別無他處,因此所有和Configuraton變化相關(guān)的函數(shù)調(diào)用都必須經(jīng)過AMS的這個(gè)函數(shù)通知客戶端Activity發(fā)生了Configuration的改變。
2) 引起Configuration改變的三種情況。
a ) 在ActivityStack中執(zhí)行resumeTopActivityLocked()函數(shù)時(shí)。ActivityStack會(huì)先詢問Wms,
看Wms中是否會(huì)改變?cè)揂ctivity的屏幕方向。
b ) 在Wms中調(diào)用addWindow()、removeWindow()、relayoutWindow()函數(shù),也需要重新計(jì)算屏幕方向,如果有改變則調(diào)用sendNewConfinguration()向Ams報(bào)告新的Configuration值。
c ) 人為旋轉(zhuǎn)設(shè)備,旋轉(zhuǎn)消息會(huì)被InputManager模塊截獲。之后會(huì)調(diào)用到Wms的setRotation()再調(diào)用setRotationLocked(),然后又調(diào)用到sendNewConfiguration()函數(shù)。
以上三種情況都會(huì)調(diào)用到Ams的updateConfigurationLocked()函數(shù),該函數(shù)將通知所有客戶端Configuration發(fā)生了改變,這會(huì)導(dǎo)致所有的正在運(yùn)行的Activity收到onConfigurationChanged()回調(diào)。</div

上一篇:android ndk的介紹
下一篇:android ndk

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-10-3 23:33 , Processed in 0.060134 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表