精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android頁面渲染效率優化實踐

移動開發 Android
如果到了GPU交換兩個Buffer的時間點,你的應用還在往Back Buffer中填充數據,GPU會發現Back Buffer被鎖定了,它會放棄這次交換。

?1.車系頁布局渲染現狀 

車系頁是重要的車系信息頁面,更新迭代多年,頁面布局不斷變化,xml布局文件越寫越復雜。

獲取車系頁布局文件耗時:

startTime = System.currentTimeMillis();
setContentView(R.layout.car_series_revision_activity);
long durTime = System.currentTimeMillis() - startTime;
LogHelper.e("布局總耗時","車系頁布局耗時:" + durTime);

結果如下:

圖片

2.卡頓的原因

2.1Android繪制原理

? 1.Android的屏幕刷新中涉及到最重要的三個概念

(1)CPU:執行應用層的measure、layout、draw等操作,繪制完成后將數據提交給GPU

(2)GPU:進一步處理數據,并將數據緩存起來

(3)屏幕:由一個個像素點組成,以固定的頻率(16.6ms,即1秒60幀)從緩沖區中取出數據來填充像素點

總結一句話就是:CPU 繪制后提交數據、GPU 進一步處理和緩存數據、最后屏幕從緩沖區中讀取數據并顯示。

圖片

? 2.雙緩沖機制

圖片

當布局比較復雜,或設備性能較差的時候,CPU并不能保證在16.6ms內就完成繪制數據的計算,所以這里系統又做了一個處理。

當你的應用正在往Back Buffer中填充數據時,系統會將Back Buffer鎖定。

如果到了GPU交換兩個Buffer的時間點,你的應用還在往Back Buffer中填充數據,GPU會發現Back Buffer被鎖定了,它會放棄這次交換。

這樣做的后果就是手機屏幕仍然顯示原先的圖像,這就是我們常常說的掉幀。

2.2布局加載原理

頁面啟動時,布局加載在主線程上進行耗時操作,會導致頁面渲染及加載慢。

布局加載主要通過setContentView來實現,下面是它的調用時序圖:

圖片

我們可以看到,在setContentView中主要有兩個耗時操作:

(1)解析xml,獲取XmlResourceParser,這是IO過程。

(2)通過createViewFromTag,創建View對象,用到了反射。

以上兩點就是布局加載慢的原因,也是布局的性能瓶頸。

3.布局加載優化

上一章分析了布局加載慢的主要原因,因此,我們的優化方式主要有以下兩種:

(1)異步加載,將布局加載過程轉移到子線程

(2)去掉IO和反射過程

3.1異步加載,AsyncLayoutInflater方案

 setContentView 默認是在UI主線程加載布局的,其加載過程中的耗時操作,如解析xml,反射創建view對象等也是在主線程執行,AsyncLayoutInflater 可以讓這些加載過程在子線程中執行,這樣可以提高UI線程的響應性,UI線程同時可以進行其他操作。AsyncLayoutInflater使用方式如下:

new AsyncLayoutInflater(this).inflate(R.layout.car_series_revision_activity, null, new AsyncLayoutInflater.OnInflateFinishedListener() {
@Override
public void onInflateFinished(@NonNull View view, int resid, @Nullable ViewGroup parent) {
setContentView(view);
}
});

AsyncLayoutInflater方案的缺點:

(1) UI布局和view的初始化在子線程中進行,如果view還未初始化成功,在主線程中再調用view會引起崩潰。

(2) 一般情況下,主線程會調用view,涉及到大量子線程和主線程在view調用上的同步問題,這就犧牲了易用性,代碼可維護性也會變差。

(3) 如果是在老頁面邏輯結構上引入AsyncLayoutInflater進行改造,結構改動很大,很容易發生view調用崩潰錯誤,不太可行。

3.2X2C方案

 X2C 是掌閱開源的一套布局加載框架。X2C的主要思路是利用apt工具,在編譯期將我們寫的xml布局文件解析成view,并根據xml動態設置view的各類屬性,這樣,我們在運行時,調用findViewById,根據view id拿到的view,已經是直接new 出來的view,避免了運行時的xml IO操作和反射操作,這就解決了布局時的耗時問題。

原始的xml布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientatinotallow="vertical">
<Button
android:id="@+id/x2c"
style="@style/btn"
android:text="X2C" />
<Button
android:id="@+id/xml"
style="@style/btn"
android:layout_marginTop="10dp"
android:text="XML" />
<Button
android:id="@+id/sub"
style="@style/btn"
android:layout_marginTop="10dp"
android:text="subModule" />
</LinearLayout>

X2C 編譯期apt生成的java文件:

public class X2C127_Activity implements IViewCreator {
@Override
public View createView(Context ctx) {
Resources res = ctx.getResources();
LinearLayout linearLayout0 = new LinearLayout(ctx);
linearLayout0.setTag(R.id.x2c_rootview_width,ViewGroup.LayoutParams.MATCH_PARENT);
linearLayout0.setTag(R.id.x2c_rootview_height,ViewGroup.LayoutParams.MATCH_PARENT);
linearLayout0.setId(R.id.constraintLayout);
linearLayout0.setGravity(Gravity.CENTER);
linearLayout0.setOrientation(LinearLayout.VERTICAL);
Button button1 = new Button(ctx);
LinearLayout.LayoutParams layoutParam1 = new LinearLayout.LayoutParams((int)(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,150,res.getDisplayMetrics())),(int)(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,50,res.getDisplayMetrics())));
button1.setBackgroundColor(res.getColor(R.color.colorAccent));
button1.setTextSize(TypedValue.COMPLEX_UNIT_DIP,20);
button1.setGravity(Gravity.CENTER);
button1.setTextColor(Color.parseColor("#ffffff"));
button1.setId(R.id.x2c);
button1.setText("X2C");
button1.setLayoutParams(layoutParam1);
linearLayout0.addView(button1);
return linearLayout0;
}
}

X2c的優點:?

(1)易用性和可維護性好,對原有代碼侵入性不強,應用代碼還是使用xml寫布局

(2)加載耗時可縮短到原來的1/2到1/3

X2c的缺點:?

(1)View的屬性支持不完全

(2)兼容性和穩定性不是很高,在高版本的gradle 編譯工具,如gradle3.1.4,會出現找不到R.java文件,找不到xml對應的java文件等問題

(3)目前,X2C更新到2021年,并沒有持續維護和解決issue

3.3Compose方案

Compose 是 Jetpack 中的一個新成員,是 Android 團隊在2019年I/O大會上公布的新的UI庫。

Compose使用純kotlin開發,使用簡潔方便,但它是完全拋棄了View 和 ViewGroup這套系統,自己把整個的渲染機制從里到外做了個全新的,是未來取代XML的官方方案。

Compose的優點:

(1)使用聲明式UI,摒棄了xml布局運行時解析,布局效率更高

(2)使用kotlin開發,簡單易用,布局形式上跟flutter統一。

如果是使用kotlin開發的新項目,可以引入Compose方案,對于老項目的優化,Compose方案并不適用。

3.4我們的優化方案-在布局反射上做文章

 Xml解析到view,完全自己來做,比較復雜且有很多風險,這個過程涉及到兩個耗時的點:

(1)xml解析,IO操作

(2)反射

xml解析這部分工作復雜度很高,可以交給android系統來做。我們可以想辦法去除反射的邏輯。

我們需要找到一個反射生成view的入口。我們知道,View生成相關邏輯在LayoutInflater的createViewFromTag中,調用了onCreateView(parent, name, context, attrs),通過反射生成了view。

通過android系統的LayoutInflater setFactory,我們不僅可以控制View的生成,還可以把View變成另外一個View。在setFactory的onCreateView(parent, name, context, attrs)回調中,我們接管單個view的生成,去掉反射,new 出我們自己的view就解決了問題。而onCreateView(parent, name, context, attrs)中的參數name返回的就是xml中使用到的view的名字,根據這個name,直接new出來新的view。方式如下:

LayoutInflaterCompat.setFactory(getLayoutInflater(), new LayoutInflaterFactory() {
@Override
public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
switch (name) {
case "TextView":
return new TextView(context, attrs);
case "ImageView":
return new ImageView(context, attrs);
case "com.cubic.choosecar.ui.car.view.NewStarView":
return new com.cubic.choosecar.ui.car.view.NewStarView(context, attrs);
case "com.cubic.choosecar.ui.carseries.scrolllayout.ScrollableLayout":
return new com.cubic.choosecar.ui.carseries.scrolllayout.ScrollableLayout(context, attrs);
case "View":
return new View(context, attrs);
case "com.cubic.choosecar.newui.carseries.view.CarRevisionSeriesImageScaleLayout": //自定義view
return new com.cubic.choosecar.newui.carseries.view.CarRevisionSeriesImageScaleLayout(context, attrs);
case "ViewStub":
return new ViewStub(context, attrs);
case "ScrollView":
return new ScrollView(context, attrs);
case "androidx.constraintlayout.widget.ConstraintLayout":
return new androidx.constraintlayout.widget.ConstraintLayout(context, attrs);
case "FrameLayout":
return new FrameLayout(context, attrs);
case "RelativeLayout":
return new RelativeLayout(context, attrs);
case "androidx.appcompat.widget.Toolbar":
return new androidx.appcompat.widget.Toolbar(context, attrs);
case "LinearLayout":
return new LinearLayout(context, attrs);
default:
View view = getDelegate().createView(parent, name, context, attrs);
return view;
}
//return view;
}
});

包括系統view和我們自定義的view。

此方案對已有項目的代碼侵入性很小,改造成本低,兼容性也很高,相對來講,在渲染效率上比X2C方案低一些,但比較匹配我們對已有舊項目復雜布局的渲染優化。

3.5進一步在布局上優化

 我們可以使用viewStub實現布局的懶加載。思路是將布局分成不同的模塊,讓部分模塊使用viewStub標簽替代,一半屏幕的模塊元素渲染完成以后,再通過viewStub來渲染生成viewStub所包含的其它模塊,實現延遲渲染加載。

通過分析車系頁布局,已經將布局元素,按功能做了一些模塊的劃分,我們進一步將關聯度大的布局模塊集中在一起,封裝在一個自定義VIEW中,使用viewStub包含替換這些模塊View。UI線程setContentView渲染布局時,viewStub所包含的模塊并不會被渲染,只會渲染屏幕的部分元素,等待主接口數據返回,再使用viewStub延遲其它模塊,實現了布局的懶加載,加快了主線程的渲染速度。

4.優化結果

通過3.4和3.5節的優化方法,車系頁復雜布局渲染優化對比結果如下:

圖片

通過對比可以看到,在不同檔次的android機型上,渲染耗時降低了20%-35%左右,在低端機型上,減少的絕對耗時更多,感受可能會明顯一些。

作者簡介

圖片

蔣雄鋒

■ 經銷商事業部-經銷商技術部。

■ 2018年加入汽車之間,目前任職經銷商技術部移動App團隊,主要涉及Android移動端,Flutter,React Native等大前端技術,負責汽車報價App業務的開發。

責任編輯:武曉燕 來源: 之家技術
相關推薦

2018-01-19 14:39:53

瀏覽器頁面優化

2017-04-25 16:20:10

頁面優化滾動優化

2013-03-27 09:17:17

Android開發AndroidList

2015-09-16 13:54:30

Android性能優化渲染

2014-12-17 09:46:30

AndroidListView最佳實踐

2025-10-09 09:28:01

KotlinArkTS

2020-05-27 09:41:10

前端性能邊緣計算

2022-03-29 13:27:22

Android優化APP

2024-05-07 08:47:55

2024-06-13 17:10:16

2017-04-12 11:46:46

前端瀏覽器渲染機制

2020-10-15 09:10:02

MySQL性能優化

2024-11-15 08:30:23

2013-07-10 10:24:10

2023-04-10 11:18:38

前端性能優化

2021-05-13 09:43:03

Flutter研發模式

2023-07-19 22:17:21

Android資源優化

2019-03-20 11:20:31

VueWeb 前端

2017-05-10 14:47:37

Headless Ch頁面 Docker

2016-12-08 10:57:08

渲染引擎前端優化
點贊
收藏

51CTO技術棧公眾號

污污视频在线免费| 91香蕉视频网址| 永久免费无码av网站在线观看| 亚洲免费专区| 欧美三区在线观看| 亚洲av综合色区| 亚洲aⅴ在线观看| 久久精品国产一区二区三区免费看 | 亚洲欧美日韩天堂| 91 在线视频观看| 国产啊啊啊视频在线观看| 国产乱子伦视频一区二区三区| 国外成人在线播放| 亚洲国产精品一区二区久久hs| 涩爱av色老久久精品偷偷鲁| 色美美综合视频| 屁屁影院ccyy国产第一页| 国产免费av在线| 国产精品99久| 国产精品美腿一区在线看| 久草国产在线视频| 日韩精品一区二区三区免费观影 | 国产精品免费不| 欧美一区二区三区视频在线 | 蜜臀国产一区二区三区在线播放 | 樱花草涩涩www在线播放| 中文字幕日韩一区| 精品一区二区三区视频日产| 91极品身材尤物theporn| 国产日韩欧美一区二区三区在线观看| 色偷偷噜噜噜亚洲男人的天堂| 亚洲一级av无码毛片精品| 伊人亚洲精品| 在线观看www91| 性欧美大战久久久久久久| 18av在线视频| 国产精品久久久久久久久快鸭 | 少妇一级淫免费播放| 国产中文在线播放| 有码一区二区三区| 亚洲午夜在线观看| 蜜桃视频在线入口www| 成人午夜视频在线| 亚洲japanese制服美女| 无码久久精品国产亚洲av影片| 亚洲精品社区| 午夜精品视频在线| 国产网址在线观看| 国内在线观看一区二区三区| 美女国内精品自产拍在线播放| 极品尤物一区二区| 日韩精品免费一区二区三区| 夜夜嗨av一区二区三区四区| 国产aⅴ激情无码久久久无码| 婷婷亚洲精品| 精品在线欧美视频| 精品人妻一区二区三区日产乱码卜| xxxx日韩| 精品第一国产综合精品aⅴ| 四虎国产精品免费| 日韩高清在线观看一区二区| 91精品免费在线观看| 亚洲一区精品视频在线观看| 亚洲欧美久久精品| 制服丝袜日韩国产| 色欲无码人妻久久精品| 日韩中文一区二区| 亚洲成人精品久久| 亚洲熟女乱综合一区二区三区| 亚洲精品一级二级三级| 国产亚洲精品久久久久久牛牛 | 精品黑人一区二区三区在线观看| 精品午夜久久福利影院 | 波多野结衣综合网| 二区三区不卡| 欧美三级韩国三级日本一级| 日本激情综合网| 四虎视频在线精品免费网址| 欧美刺激脚交jootjob| 日本一卡二卡在线| 国产一区毛片| 久久亚洲精品成人| 日韩久久精品视频| 老司机一区二区三区| 国产精品视频一区二区高潮| 国产精品综合在线| 99这里都是精品| 日韩欧美视频第二区| 免费的黄网站在线观看| 亚洲综合999| 精品中文字幕av| 国产精品久久久久久妇女| 正在播放一区二区| 亚洲精品中文字幕在线播放| 国内成人精品| 欧美高清不卡在线| 69亚洲精品久久久蜜桃小说| 精彩视频一区二区三区| 国产在线资源一区| a视频网址在线观看| 亚洲精品日韩专区silk| 久久9精品区-无套内射无码| 亚洲精品伊人| 日韩精品在线观看一区| 欧美xxxx精品| 一区二区动漫| 成人欧美一区二区三区在线湿哒哒 | 国产农村妇女精品一二区| 国产区亚洲区欧美区| 好吊色一区二区| 国产精品久久久久久妇女6080| 国产一级不卡视频| 国产精品xxx| 亚洲精品久久久久中文字幕二区| 后入内射无码人妻一区| 日韩午夜在线| 51国偷自产一区二区三区的来源| 可以在线观看的av网站| 夜夜揉揉日日人人青青一国产精品| 看av免费毛片手机播放| 欧美日韩黄网站| 在线a欧美视频| 日韩精品视频播放| 国产真实乱子伦精品视频| 日本精品一区二区| 嗯啊主人调教在线播放视频| 欧美一区二区三区在线| 美国黑人一级大黄| 欧美一级网站| 高清不卡一区二区三区| 成人日批视频| 欧美日韩的一区二区| 自拍偷拍中文字幕| 一本久道久久综合狠狠爱| 999国产视频| 黄色免费在线观看| 欧美日韩的一区二区| 亚洲一区视频在线播放| 久久久国产亚洲精品| 狠狠色综合网站久久久久久久| 超鹏97在线| 欧美一区二视频| 日本免费网站视频| 日韩不卡在线观看日韩不卡视频| 狠狠色噜噜狠狠色综合久| 538视频在线| 精品欧美一区二区三区精品久久 | 亚洲成人在线网站| 亚洲熟女乱综合一区二区| 天天射天天综合网| 成人xxxxx| 麻豆影院在线| 欧美乱妇15p| 夫妻性生活毛片| 国产在线播放一区三区四| 亚洲 欧洲 日韩| 精品国产伦一区二区三区观看说明 | 久久久国产精品| 成人黄色av播放免费| 岛国成人毛片| 精品国产乱码久久久久久夜甘婷婷| 在线观看成人毛片| 国产 日韩 欧美大片| 精品人妻大屁股白浆无码| 中文一区二区三区四区| 久久免费视频在线观看| 无码精品人妻一区二区| 日韩欧美精品在线观看| 国产一区二区三区精品在线| 蜜臀久久99精品久久久久宅男 | 日本中文字幕视频在线| 7777精品伊人久久久大香线蕉的| 26uuu成人网| 成人精品小蝌蚪| 欧美韩国日本在线| 久久国产综合| 成人区精品一区二区| 咪咪网在线视频| 在线观看中文字幕亚洲| 99久久精品国产一区色| 午夜精品久久一牛影视| 免费观看av网站| 精品一区二区久久久| 欧美a级免费视频| 亚洲国产合集| 91久久国产综合久久91精品网站 | 欧美第一精品| 国产66精品久久久久999小说| 蜜桃av在线| 中文字幕久热精品视频在线| 国产成人精品毛片| 欧美日韩精品二区| 日本一级特级毛片视频| 白白色亚洲国产精品| xxxx一级片| 欧美日韩影院| 日本一区二区在线视频| 欧美日韩黄网站| 日本免费在线精品| 亚洲无线看天堂av| 亚洲欧洲第一视频| 国产丝袜视频在线观看| 欧美日韩在线免费| 手机在线免费看毛片| 91麻豆精品在线观看| 中文字幕资源在线观看| 亚洲资源av| 四虎4hu永久免费入口| 亚洲精品小区久久久久久| 成人女人免费毛片| 国产麻豆一区| 欧美一区二区三区免费视 | 久久免费视频在线| 午夜视频成人| 亚洲免费电影在线观看| 成人av无码一区二区三区| 91极品视觉盛宴| 日本三级欧美三级| 亚洲欧美日韩国产中文在线| 这里只有久久精品| av成人免费在线观看| 奇米777在线视频| 喷水一区二区三区| 欧美日韩中文在线视频| 99热在线精品观看| 特级西西444| 99国产精品一区二区| 日本不卡一区二区三区在线观看| 亚洲日本va| 亚洲mm色国产网站| 91麻豆精品一二三区在线 | 日韩欧美一级| 成人免费午夜电影| 亚洲欧洲日韩精品在线| 国产精品免费在线免费| 男人av在线播放| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | www.日本在线播放| 亚洲有吗中文字幕| 一区二区精品免费视频| 成人在线免费观看91| 日本一区高清不卡| 欧美日韩一二三四| 日韩伦理一区二区三区av在线| 先锋影音国产精品| 久久riav| 亚洲春色h网| 欧美黑人xxxxx| 免费观看不卡av| 茄子视频成人在线观看| 欧美日韩播放| 日韩欧美99| 久久亚洲国产| 一道本在线观看视频| 亚洲色图网站| 看一级黄色录像| 午夜精品网站| 中国丰满熟妇xxxx性| 亚洲福利国产| 黄色片视频在线免费观看| 男女av一区三区二区色多| 91免费视频网站在线观看| 日韩黄色免费电影| 国产高清视频网站| 九色|91porny| 性一交一黄一片| 不卡一二三区首页| av直播在线观看| 国产日韩欧美一区二区三区乱码| 一级特黄曰皮片视频| 国产精品高清亚洲| 国产成人无码aa精品一区| 亚洲超丰满肉感bbw| 国产精品视频免费播放| 欧美视频中文字幕| 99热这里只有精品在线| 亚洲第一男人av| 欧美孕妇性xxxⅹ精品hd| 中文字幕精品一区久久久久| yellow91字幕网在线| 欧美性视频在线| 国产精品久久乐| 国产精品久久久久久免费观看| 亚洲va久久| 艳母动漫在线免费观看| 亚洲精品偷拍| 91 在线视频观看| 不卡影院免费观看| 91成人精品一区二区| 一二三区精品视频| 五月天婷婷导航| 欧美一区二区女人| 四虎影视精品成人| www国产精品视频| 国产99在线| 国产在线视频欧美| 青青一区二区| 在线国产精品网| 在线亚洲伦理| www.51色.com| 久久九九影视网| 欧美日韩精品亚洲精品| 91福利资源站| 好男人www在线视频| 日韩有码在线视频| 女海盗2成人h版中文字幕| 91色在线视频| 激情五月色综合国产精品| 日本a在线天堂| 秋霞午夜鲁丝一区二区老狼| 日韩无码精品一区二区| 国产精品福利一区二区| 一级成人黄色片| 日韩欧美成人激情| 欧美三级电影一区二区三区| 69精品小视频| 深夜福利一区| 在线无限看免费粉色视频| 久久久久91| 丰满岳乱妇一区二区| 亚洲欧美日韩中文字幕一区二区三区| 天码人妻一区二区三区在线看 | 国产成人自拍视频在线观看| www.久久东京| 熟女熟妇伦久久影院毛片一区二区| 亚洲综合国产激情另类一区| 日韩精品国产一区| 亚洲男人天堂av| 亚洲综合精品国产一区二区三区 | 国产自摸综合网| 精品国产一区二区三区四区 | 91在线三级| 91久久偷偷做嫩草影院| 久久在线视频免费观看| 久久久久久香蕉| 久久婷婷色综合| 国产精品男女视频| 欧美精品一区二区三区很污很色的| 超碰在线观看免费| 91精品在线国产| 五月天久久777| 中文字幕精品一区二区三区在线| 国产亚洲婷婷免费| 无码人妻久久一区二区三区| 日韩精品在线观看一区| 在线观看v片| 老牛影视免费一区二区| 99在线|亚洲一区二区| 私密视频在线观看| 精品国产精品自拍| 亚州精品国产精品乱码不99按摩| 97色在线观看免费视频| 欧美美女啪啪| 成人午夜视频免费在线观看| 久久久影院官网| 天堂网免费视频| 中文字幕欧美国内| 日韩一区二区三免费高清在线观看| 亚洲欧洲一区二区| 国产综合一区二区| 精品99在线观看| 精品国产一区二区三区久久影院| 国内小视频在线看| 精品久久一区二区三区蜜桃| 午夜亚洲精品| 国内精品卡一卡二卡三| 欧美日韩精品免费观看视频| 麻豆av在线导航| 波多野结衣成人在线| 亚洲精品影院在线观看| 一级国产黄色片| 欧美揉bbbbb揉bbbbb| 黄色网在线免费观看| 国产精品久久久久久久免费大片 | 日韩理论电影中文字幕| 国产无套内射久久久国产| 欧美韩日一区二区三区四区| 国产又大又长又粗| 久久久亚洲网站| 精品一区欧美| 久久久久久久久久久久久久久国产| 亚洲免费观看高清完整版在线观看| 性生活三级视频| 奇米4444一区二区三区| 四虎成人精品永久免费av九九| 性折磨bdsm欧美激情另类| 欧美日韩国产中字| 2019中文字幕在线视频| www久久99| 日韩高清中文字幕一区| 欧美黄色免费观看| 亚洲精品视频久久| 玖玖玖视频精品| 国模吧无码一区二区三区| 自拍av一区二区三区| 四虎在线免费观看| 亚洲a一级视频| 日韩精品三区四区| 欧美人妻精品一区二区三区| 亚洲欧美日韩精品久久奇米色影视|