Activity + Fragment 页面重叠问题
生活随笔
收集整理的這篇文章主要介紹了
Activity + Fragment 页面重叠问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Activity + Fragment 頁面重疊問題
今天在遇到一個很奇怪的問題,我們的軟件是用Activity + Fragment構成,在某些場景下,居然發現了有Fragment重疊的現象,究其本質,是因為原來未被銷毀,而又新建了一個Fragment,那么這種情況怎么避免呢。
一、 造成問題的原因
根本原因:Activity被銷毀并重新創建了,但已經加載過的Fragmen被保存了下來,這時Activity重新創建時又產生了新的Fragment,所以重疊了。
問題場景:
深入探究為什么橫豎屏后會產生這個現象呢?
我在網上找到贊同的解釋:
當我們旋轉屏幕的時候,activity會被銷毀并重新創建,并且在銷毀之前執行了onSaveInstanceState(Bundle outState)這個方法。這個方法會保存activity的一些信息,其中就包括添加過的fragment,當activity被重新創建時,會初始化其中的變量,這個時候點擊底部導航的話會重新去添加fragment,也就導致了重疊的問題。
二、 解決方法
為了模擬這一場景,可在手機 開發者選項-> 應用->不保留活動 模擬場景。
解決方式一:
在Activity回收時不保存狀態,這樣當Activity銷毀時再進入時,就重新加載視圖
解決方式二:
總結
以上是生活随笔為你收集整理的Activity + Fragment 页面重叠问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XML学习笔记——XSL
- 下一篇: PR输出多音轨文件