亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Fragment銷毀時replace和add兩個方法的區別

2019-11-06 09:44:35
字體:
來源:轉載
供稿:網友

這個首先從一個bug說起,如圖:

 

我們都知道fragment切換有兩種方式:

1. replace方式

transaction.replace(R.id.content, IndexFragment);

2. add-hide-show方式

transaction.add(R.id.content, IndexFragment);  transaction.hide(otherfragment);  transaction.show(thisfragment);

而上面按鈕中出現bug的就是采用第二種方式。然后我們來分析下用add,hide,show為什么出現這種bug,我把每個操作都打印出了以下日志:

復現bug的操作是:1.首先打開,默認選中的是第一個tab,如上面的一張圖片正常那樣。2.切換到tab2,并把tab1 hide掉;3.再切回到tab1,并不會觸發tab1對應fragment的任何生命周期;4.然后home鍵進入后臺,我在activity的onPause()中手動對IndexFragment賦空,模擬長時間后臺,系統銷毀了該引用。

IndexFragment=null;

5.再次啟動,其實tab1 的fragment實例在內存中還在,只是他的引用被銷毀了。6.再切到tab2,這里其實是先把tab1的hide,在show tab2,但是tab1 的fragment引用為空,所以無法hide,就出現了tab2疊在tab1上的花屏情況。7.再切到tab1,tab1就會重復創建對象。

同樣的操作,我們使用replace的方式

使用replace方式,雖然這種方式會避免上述的bug,但也是重復創建了對象。因為replace方式,對應的FrameLayout只有一 層,而add方式,這個FrameLayout其實有2層。但是這種方式的缺點是:每次replace會把生命周期全部執行一遍,如果在這些生命周期函數 里拉取數據的話,就會不斷重復的加載刷新數據。

那么最合適的處理方式是這樣的:

1.在add的時候,加上一個tab參數transaction.add(R.id.content, IndexFragment,”Tab1″);2.然后當IndexFragment引用被回收置空的話,先通過IndexFragment=FragmentManager.findFragmentByTag(“Tab1″);找到對應的引用,然后繼續上面的hide,show;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产一区二区| 亚洲老头同性xxxxx| 欧美巨猛xxxx猛交黑人97人| 97精品伊人久久久大香线蕉| 91视频8mav| 成人黄色短视频在线观看| 国产精品久久久久久久app| 91精品国产综合久久久久久蜜臀| 欧美激情三级免费| 国产不卡av在线| 永久免费看mv网站入口亚洲| 亚洲男人天堂九九视频| 日韩中文字幕在线播放| 久久久久www| 国产精品亚洲一区二区三区| 日韩成人黄色av| 国产亚洲精品久久久久久牛牛| 日韩有码在线视频| 美女扒开尿口让男人操亚洲视频网站| 亚洲风情亚aⅴ在线发布| 日韩中文在线观看| 日本一欧美一欧美一亚洲视频| 久久人人爽人人爽人人片亚洲| 国内精品一区二区三区四区| 欧美性xxxx极品hd满灌| 成人精品视频久久久久| 久久久久久久999| 欧美在线视频免费播放| 国产一区视频在线播放| 欧美精品aaa| 成人在线一区二区| 国产日韩精品在线播放| 色噜噜狠狠狠综合曰曰曰| 久久免费视频在线| 日韩精品久久久久久久玫瑰园| 久久久噜噜噜久久久| 国产精品久久久久久亚洲影视| 伦伦影院午夜日韩欧美限制| 国产精品久久国产精品99gif| 欧美国产视频一区二区| 欧美激情视频在线免费观看 欧美视频免费一| 欧美亚洲成人网| 欧美午夜片欧美片在线观看| 美女啪啪无遮挡免费久久网站| 日韩av免费网站| 亚洲视频在线免费观看| 国产精品久久久久99| 美女久久久久久久久久久| 美女视频黄免费的亚洲男人天堂| 欧美插天视频在线播放| 日韩av免费在线| 国产欧美日韩精品丝袜高跟鞋| 亚洲男人第一网站| 亚洲亚裔videos黑人hd| 欧美成人精品影院| 理论片在线不卡免费观看| 久久久久99精品久久久久| 国产精品va在线| 亚洲精品丝袜日韩| 亚洲精品成人av| 久久99亚洲热视| 欧美一级片免费在线| 中文字幕国产精品| 亚洲激情电影中文字幕| 欧美国产日韩在线| 久久久精品中文字幕| 91久久久久久久久| 国产日韩欧美中文| 国产精品免费网站| www.久久撸.com| 8x海外华人永久免费日韩内陆视频| 中文字幕在线观看日韩| 日韩视频精品在线| 久久人体大胆视频| 久久久欧美精品| 久久久久久久影院| 日本成人激情视频| 日本道色综合久久影院| 国产日韩在线播放| 亚洲精品中文字| 91超碰caoporn97人人| 裸体女人亚洲精品一区| 亚洲欧美在线免费观看| 欧美日韩中文字幕| 日韩中文在线不卡| 日韩美女在线播放| 成人欧美在线观看| 国产视频观看一区| 欧美精品制服第一页| 亚洲欧美国产视频| 亚洲精品电影久久久| 久久久久久国产| 欧美精品久久一区二区| 国产精品久久不能| 97在线日本国产| 成人网欧美在线视频| 亚洲影院高清在线| 91免费国产网站| 日本19禁啪啪免费观看www| 日韩精品极品在线观看| 日韩av网站大全| 欧美国产日本高清在线| 欧美性xxxxx极品娇小| 久久久人成影片一区二区三区| 日韩在线精品视频| 国产亚洲人成a一在线v站| 久久久亚洲精品视频| 精品久久久久久久久久久久久久| 国产精品福利在线| 国产亚洲精品成人av久久ww| 欧美性高潮床叫视频| 欧美在线性视频| 国产欧美一区二区三区在线| 日韩精品高清在线| 亚洲综合中文字幕在线观看| 国产91网红主播在线观看| 青青在线视频一区二区三区| 琪琪亚洲精品午夜在线| 国产精品久久久久久久久久新婚| 日韩精品福利网站| 亚洲加勒比久久88色综合| 亚洲人成网站777色婷婷| 亚洲综合色av| 尤物99国产成人精品视频| 日本精品va在线观看| 精品久久久一区二区| 亚洲伦理中文字幕| 久久精品国产精品亚洲| 久久在线精品视频| 国产精品自拍小视频| 成人免费视频在线观看超级碰| 国产精欧美一区二区三区| 精品久久久久久久久久久久久久| 亚洲图片在线综合| 久久91超碰青草是什么| 欧美亚洲视频一区二区| 精品久久久久久久久国产字幕| 国产精品久久久久久久久久东京| 性欧美激情精品| 国产一区二区香蕉| 国产精品a久久久久久| 亚洲成人国产精品| 亚洲欧美制服综合另类| 精品国产91乱高清在线观看| 国产精品欧美久久久| 日韩一级黄色av| 国产婷婷成人久久av免费高清| 国产中文字幕日韩| 92国产精品久久久久首页| 欧美激情在线有限公司| 成人性生交大片免费看视频直播| 亚洲激情视频在线观看| 中文字幕在线观看日韩| 日韩av在线免费观看一区| 国产一区二区在线播放| 日本亚洲欧洲色α| 欧美成aaa人片在线观看蜜臀| 国产97在线|亚洲| 国产午夜精品一区理论片飘花| 国内精品视频在线| 97精品在线视频| 国产精品天天狠天天看| 久久99久久99精品免观看粉嫩| 91精品在线观|