欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android嵌套線性布局玩法坑解決方法

 更新時(shí)間:2022年10月31日 15:59:34   作者:打哭廖廖  
這篇文章主要為大家介紹了Android嵌套線性布局玩法坑解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

嵌套線性布局大家應(yīng)該都用的非常熟悉,畢竟這玩意理解起來也是真的簡單,而且如果熟悉的話這玩意開發(fā)起來的效率也是真的快,不用一下一下拖動(dòng)。

但是這個(gè)玩意有個(gè)非常的問題,就是性能問題,而且人家性能問題是指數(shù)級別增加的,怎么回事呢,因?yàn)槟闳绻粚右粚拥那短撞季值脑挘到y(tǒng)在繪制的時(shí)候就是指數(shù)級別的繪制次數(shù),如果你只是嵌套了倆層那都還能接受的玩,如果你一個(gè)界面控件很多,然后你又嵌套幾層線性布局,那這個(gè)時(shí)候性能就十分低下了。

詳解

  • 看下面的代碼,就是一個(gè)十分典型的線性嵌套布局,用起來是很爽,無腦套,但是系統(tǒng)可不少受
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</FrameLayout>

為什么會讓性能降低的怎么嚴(yán)重呢?

結(jié)論是繪制次數(shù)太多,主要是線性布局會造成這個(gè)問題,線性布局會對子view進(jìn)行二次測量甚至三次測量。

比如:

1.LinearLayout寬度為wrap_content,因此它將選擇子View的最大寬度為其最后的寬度

2.但是有個(gè)子View的寬度為match_parent,意思它將以LinearLayout的寬度為寬度,這就陷入死循環(huán)了

3.因此這時(shí)候, LinearLayout 就會先以0為強(qiáng)制寬度測量一下子View,并正常地測量剩下的其他子View,然后再用其他子View里最寬的那個(gè)的寬度,二次測量這個(gè)match_parent的子 View,最終得出它的尺寸,并把這個(gè)寬度作為自己最終的寬度。

4.這是對單個(gè)子View的二次測量,如果有多個(gè)子View寫了match_parent ,那就需要對它們每一個(gè)都進(jìn)行二次測量。

5.除此之外,如果在LinearLayout中使用了weight會導(dǎo)致測量3次甚至更多,重復(fù)測量在Android中是很常見的

所以我們的嵌套對性能影響是指數(shù)級別的,比如線性套線性套線性這種。

以上就是Android嵌套線性布局玩法坑解決方法的詳細(xì)內(nèi)容,更多關(guān)于Android 嵌套線性布局的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android進(jìn)階之從IO到NIO的模型機(jī)制演進(jìn)

    Android進(jìn)階之從IO到NIO的模型機(jī)制演進(jìn)

    這篇文章主要為大家介紹了Android進(jìn)階之從IO到NIO的模型機(jī)制演進(jìn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 基于自定義Toast全面解析

    基于自定義Toast全面解析

    下面小編就為大家?guī)硪黄谧远xToast全面解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Android實(shí)現(xiàn)頁面跳轉(zhuǎn)

    Android實(shí)現(xiàn)頁面跳轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)頁面跳轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android自定義View過程解析

    Android自定義View過程解析

    這篇文章主要針對Android自定義View過程進(jìn)行解析,Android創(chuàng)建自定義的view,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android編程之播放器MediaPlayer實(shí)現(xiàn)均衡器效果示例

    Android編程之播放器MediaPlayer實(shí)現(xiàn)均衡器效果示例

    這篇文章主要介紹了Android編程之播放器MediaPlayer實(shí)現(xiàn)均衡器效果,結(jié)合具體實(shí)例形式分析了Android調(diào)用MediaPlayer相關(guān)API構(gòu)造均衡器的具體步驟與相關(guān)功能實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-08-08
  • Flutter里面錯(cuò)誤捕獲的正確方法

    Flutter里面錯(cuò)誤捕獲的正確方法

    這篇文章主要給大家介紹了關(guān)于Flutter里面錯(cuò)誤捕獲的正確方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Android自定義實(shí)現(xiàn)BaseAdapter的普通實(shí)現(xiàn)

    Android自定義實(shí)現(xiàn)BaseAdapter的普通實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Android自定義實(shí)現(xiàn)BaseAdapter的普通實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-08-08
  • Crashlytics Android 異常報(bào)告統(tǒng)計(jì)管理(詳解)

    Crashlytics Android 異常報(bào)告統(tǒng)計(jì)管理(詳解)

    下面小編就為大家?guī)硪黄狢rashlytics Android 異常報(bào)告統(tǒng)計(jì)管理(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Android仿支付寶密碼輸入效果封裝

    Android仿支付寶密碼輸入效果封裝

    這篇文章主要為大家詳細(xì)介紹了Android仿支付寶密碼輸入效果的封裝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • android中圖形圖像處理之drawable用法分析

    android中圖形圖像處理之drawable用法分析

    這篇文章主要介紹了android中圖形圖像處理之drawable用法,較為詳細(xì)的分析了Android中繪圖所涉及的各種常用技巧與方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10

最新評論