Android開發坑系列 之Fragment

2021-09-22 07:37:54 字數 659 閱讀 8396

這個東西有顧名思義是碎片,和之前的activity對應。

坑1:一般情況都會想當然的以為程序被殺掉之後,fragment也會被**

其實,fragment有自己的生命週期,有自己的管理器(fragmentmanager),也即:

包含fragment的程序被乾掉,fragment不一定會被**,而是由fragmentmanager來決定生死。

快取fragment的tag到本地資料庫(可以是xml/sqlite等),然後

用fragmentmanager.

findfragmentbytag(...)是否為null來驗證framgent是否被**了。

有個奇怪的現狀是:在上面藍色的情況發生後,framgent和包含他的activity的生命週期順序都亂套了,原本是:

activity.oncreate-->fragment.oncreate-->fragment.oncreateview

變成:fragment.oncreate-->activity.oncreate-->fragment.oncreateview

猜測是因為直接用的frament快取,其oncreate先於父activity.oncreate執行了。

坑2:新增fragment注意事項,閱讀:

Android開發坑系列 之事件分發機制

總結一下 事件序列的定義 從手觸控螢幕 含 到離開螢幕 含 期間所發生的一系列互動事件。主要由action down action move actoin up action cancel 等組成,其中一次事件序列中,down和up都只有最多乙個,move有若干個,可以為0個。定律 某個view只有...

android開發系列文章集合

android 技術專題系列之二 telephony android 技術專題系列之三 編譯 build 流程 android 技術專題系列之四 網路資源及常見命令備 android 技術專題系列之五 本地化 android 技術專題系列之六 如何安裝.apk到模擬 android 技術專題系列之七...

填坑系列之更新CocoaPods

cocoapods的具體使用方法網上有很多,這裡不再贅述。在使用pod install安裝第三方庫時,可能會出現以下錯誤 出現這個問題是由於在swift3以後,很多框架需要在cocoapods1.1.0版本以上才能正常使用,因此我們需要更新cocoapods。終端輸入 curl l get.rvm....