android - 只有一個(gè)視圖時(shí)需要使用fragment嗎
問題描述
一個(gè)activity,整個(gè)全部用fragment填充,和直接用activity繪制,占用上有差距嗎?如圖
問題解答
回答1:題主的問題描述不夠詳盡. 可以從幾個(gè)方面分析吧:
1. View 繪制效率: 應(yīng)該沒有差別2. 頁(yè)面加載速度: 單Activity明顯要比使用了Fragment的Activity的要高, 因?yàn)镕ragment需要FragmentManager & ChildFragmentManager來維護(hù)他們;3. 內(nèi)存開銷: 單Activity明顯要小.
上面3點(diǎn)都可以通過Android開發(fā)環(huán)境自帶的工具來驗(yàn)證下.
p.s. 這倆的使用場(chǎng)景 @zzxxasp 已經(jīng)說得很簡(jiǎn)單明了了.
回答2:如果題主想問的是內(nèi)存占用,那肯定會(huì)比純activity占用的多些,畢竟多了內(nèi)存對(duì)象,沒什么好說的了。關(guān)鍵你的使用場(chǎng)景是怎樣,一個(gè)視圖還是直接activity吧。
回答3:Activity比Fragment效率高。因?yàn)锳ctivity可以單獨(dú)使用,但是Fragment要放在Activity中去使用。如果單個(gè)視圖的話我覺得還是直接activity比較好,多個(gè)切換的話比如QQ微信下面的3個(gè)按鈕切換視圖這種用fragment會(huì)比較好
回答4:使用Fragment 的目的還是為了分離邏輯便于開發(fā)和管理,如果使用單個(gè)Fragment能使得邏輯清晰,簡(jiǎn)化了原本Activity的代碼,單個(gè)Fragment也不是不可以。
回答5:使用單獨(dú)的Activity就可以了,節(jié)省代碼。
回答6:這個(gè)還得看需要,Fragment的作用就是把a(bǔ)ctivity的部分可以獨(dú)立地東西抽取出來管理.而Fragment又有自己的生命周期,所以職能細(xì)分下來就就沒有那么復(fù)雜了.以前也見過用view去實(shí)現(xiàn)Fragment的功能的.
回答7:一個(gè)蛋糕,一層包裝盒的貴還是兩層包裝盒的貴?
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設(shè)置在父元素的下面?4. java - 請(qǐng)問在main方法中寫成對(duì)象名.屬性()并賦值,與直接參參數(shù)賦值輸錯(cuò)誤是什么原因?5. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫入日志信息。6. mysql里的大表用mycat做水平拆分,是不是要先手動(dòng)分好,再配置mycat7. java - socket類服務(wù)端如何防止被ddos攻擊?8. javascript - 圖片鏈接請(qǐng)求一直是pending狀態(tài),導(dǎo)致頁(yè)面崩潰,怎么解決?9. python - beautifulsoup獲取網(wǎng)頁(yè)內(nèi)容的問題10. 怎么用css截取字符?
