<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android復習(六)核心組件—>Activity 簡介、生命周期、狀態變更

      1. 可以在activity上聲明權限,來保證只在進入某個activity是否有某種權限

       <manifest>
          <activity android:name="...."
             android:permission=”com.google.socialapp.permission.SHARE_POST”
      
          />
      

        

      2.生命周期流程圖 

       

       

      3.activity狀態和內存中彈出

        系統永遠不會直接終止 Activity 以釋放內存,而是會終止 Activity 所在的進程。系統不僅會銷毀 Activity,還會銷毀在該進程中運行的所有其他內容。

       

      系統終止進程的可能性進程狀態Activity 狀態
      前臺(擁有或即將獲得焦點) 已創建
      已開始
      已恢復
      后臺(失去焦點) 已暫停
      后臺(不可見) 已停止
      已銷毀

       

      4. 保存數據和回復數據

         當activity銷毀時,應該調用 onSaveInstanceState()

         當需要恢復數據時,應該調用 onRestoreInstanceState() 而不要在onCreat中處理這些事情,雖然得到的bundle對象是相同的

       

      5. Activity狀態變更

         5.1 配置發生了改變

            有很多事件會觸發配置更改。最顯著的例子或許是橫屏和豎屏之間的屏幕方向變化。其他情況,如語言或輸入設備的改變等,也可能導致配置更改。

          當配置發生更改時,Activity 會被銷毀并重新創建。原始 Activity 實例將觸發 onPause()onStop() 和 onDestroy() 回調。系統將創建新的 Activity 實例,并觸發 onCreate()onStart() 和 onResume() 回調。

           結合使用 ViewModels、onSaveInstanceState() 方法和/或持久性本地存儲,可使 Activity 的界面狀態在配置發生更改后保持不變。在決定這些選項的組合方式時,需要考慮界面數據的復雜程度、應用的用例以及檢索速度與內存使用的權衡。有關保存 Activity 界面狀態的詳情,請參閱保存界面狀態

         5.2 處理多窗口的情況

          一旦應用進入多窗口模式(適用于 Android 7.0(API 級別 24)及更高級別),系統會向當前運行的 Activity 發送配置更改通知,從而完成上述生命周期轉換。如果已經處于多窗口模式的應用調整了大小,也會出現這種行為。您的 Activity 可以自行處理配置更改,也可以讓系統銷毀 Activity 并使用新維度重新創建一個。

          有關多窗口模式生命周期的詳情,請參閱多窗口模式支持頁的多窗口模式生命周期部分。

      在多窗口模式下,雖然用戶可以看到兩個應用,但只有與用戶交互的應用位于前臺且具有焦點。該 Activity 處于“已恢復”狀態,而另一個窗口中的應用則處于“已暫停”狀態。

           當用戶從應用 A 切換到應用 B 時,系統會對應用 A 調用 onPause(),對應用 B 調用 onResume()。每當用戶在應用之間切換時,系統就會在這兩種方法之間切換。

          有關多窗口模式的詳情,請參閱多窗口模式支持

        5.3 Activity或對話框顯示在前臺

          如果有新的 Activity 或對話框出現在前臺,并且局部覆蓋了正在進行的 Activity,則被覆蓋的 Activity 會失去焦點并進入“已暫停”狀態。然后,系統會調用 onPause()

          當被覆蓋的 Activity 返回到前臺并重新獲得焦點時,會調用 onResume()

          如果有新的 Activity 或對話框出現在前臺,奪取了焦點且完全覆蓋了正在進行的 Activity,則被覆蓋的 Activity 會失去焦點并進入“已停止”狀態。然后,系統會快速地接連調用 onPause() 和 onStop()

          當被覆蓋的 Activity 的同一實例返回到前臺時,系統會對該 Activity 調用 onRestart()onStart() 和 onResume()。如果被覆蓋的 Activity 的新實例進入后臺,則系統不會調用 onRestart(),而只會調用 onStart() 和 onResume()

         注意:當用戶點按“概覽”或主屏幕按鈕時,系統的行為就好像當前 Activity 已被完全覆蓋一樣。

       5.4 用戶點擊返回按鈕

         

           如果 Activity 位于前臺,并且用戶點按了返回按鈕,Activity 將依次經歷 onPause()onStop() 和 onDestroy() 回調。活動不僅會被銷毀,還會從返回堆棧中移除。

            需要注意的是,在這種情況下,默認不會觸發 onSaveInstanceState() 回調。此行為基于的假設是,用戶點按返回按鈕時不期望返回 Activity 的同一實例。不過,您可以通過替換 onBackPressed() 方法實現某種自定義行為,例如“confirm-quit”對話框。

          如果您替換 onBackPressed() 方法,我們仍然強烈建議您從被替換的方法調用 super.onBackPressed()。否則,返回按鈕的行為可能會讓用戶感覺突兀。

       

        5.5 系統終止應用程序

       

      6.

        

      posted @ 2020-04-21 14:48  王世楨  閱讀(244)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品国精品国自产在国产| 青青草无码免费一二三区| 深夜av免费在线观看| 欧美极品色午夜在线视频| 亚洲欧美日韩愉拍自拍美利坚| 一区二区三区不卡国产| 人成午夜大片免费视频77777 | 久久一区二区中文字幕| 自偷自拍亚洲综合精品| 2021国产精品一卡2卡三卡4卡| 亚洲综合精品一区二区三区| 国产高清在线不卡一区| 国产精品欧美福利久久| 亚洲AV无码久久精品日韩| 韩国午夜福利片在线观看| 黑人欧美一级在线视频| 亚洲黄色一级片在线观看| 2021亚洲va在线va天堂va国产| 日本一级午夜福利免费区| 久久综合激情网| 亚洲AV毛片一区二区三区| 欧美大胆老熟妇乱子伦视频| 国产极品嫩模在线观看91| 伊人久久大香线蕉综合网| 99热在线观看| 国产精品一区二区三区91| gogo无码大胆啪啪艺术| 成人无码区免费视频| 国产午夜亚洲精品福利| 亚洲av成人一区二区三区| 精品一区二区三区国产馆| 国产av一区二区不卡| 国产一区二区三区在线观看免费 | 国产福利姬喷水福利在线观看| 香港日本三级亚洲三级| 性色在线视频精品| 久久不见久久见免费视频观看| 亚洲AV无码东方伊甸园| 久久人人爽人人人人爽av| 午夜成人性爽爽免费视频| 人人玩人人添人人澡超碰|