精品欧美一区二区三区在线观看 _久久久久国色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亚洲精品丁香在线观看| www.狠狠爱| 精品亚洲a∨| 亚洲精品一卡二卡| 激情视频在线观看一区二区三区| 国产一级免费视频| 婷婷丁香综合| 日韩精品电影网| 免费在线观看日韩视频| 免费a级毛片在线播放| 国产一区二区三区观看| 午夜精品久久久99热福利| 老头老太做爰xxx视频| 99国产精品免费网站| 好吊成人免视频| 欧美精品久久96人妻无码| 无码国产精品高潮久久99| 亚洲影院在线| 久久在精品线影院精品国产| 亚洲天堂成人av| 久久久久毛片免费观看| 色婷婷av一区二区三区大白胸 | 日韩在线你懂的| 911国产精品| 能看的毛片网站| 成人超碰在线| 国产精品成人在线观看| 免费精品视频一区二区三区| 午夜精品无码一区二区三区 | 亚洲一级片av| 一区二区乱码| 成人a在线观看高清电影| 国产电影精品久久禁18| 国产精品免费小视频| 国产香蕉在线视频| 亚洲综合中文| 色狠狠久久aa北条麻妃| 精品少妇一区二区三区免费观| 日韩中文字幕一区二区高清99| 欧美性生活一区| 成熟老妇女视频| 91超碰免费在线| 亚洲一区二区欧美| 裸体大乳女做爰69| 最新国产在线观看| 欧美韩国日本不卡| 日本不卡在线观看| 日本成人一区二区三区| 成人黄色777网| 99porn视频在线| 国产精品久久久午夜夜伦鲁鲁| 日韩精品高清不卡| 国产精品成人播放| 无码无套少妇毛多18pxxxx| 一区二区三区福利| 97成人超碰免| 国产一级精品视频| 一区二区精品| 日本成人黄色片| 香蕉影院在线观看| 久久久久综合| 日本一本a高清免费不卡| 91video| 噜噜噜躁狠狠躁狠狠精品视频 | 久草一区二区| 亚洲人成色777777老人头| 成人免费不卡视频| 国产一区二区精品免费| 天堂在线视频免费观看| www.亚洲精品| 裸体丰满少妇做受久久99精品| 天堂网av2014| 久久精品欧美一区二区三区不卡| 欧美日韩在线高清| av网站在线免费观看| 国产精品久久久久久久岛一牛影视| 亚洲国产日韩欧美| av在线免费观看网址| 一级中文字幕一区二区| 黄色一级在线视频| 最新欧美电影| 欧美高清视频不卡网| 精品国产乱码久久久久久1区二区| 国产一区二区三区精品在线观看| 精品久久久久99| 朝桐光av一区二区三区| 国产毛片一区二区三区| www.日韩.com| 精品91久久久| 日韩电影免费一区| 亚洲自拍欧美色图| 四虎在线观看| 日韩毛片高清在线播放| 日韩a级黄色片| 不卡福利视频| 7777精品伊人久久久大香线蕉的| 日本中文字幕精品| 国产精品一国产精品| www.xxxx欧美| 日韩欧美性视频| 视频一区欧美精品| 国产精品国产亚洲精品看不卡15| 国产在线一在线二| 亚洲一区精品在线| 久久婷五月综合| 国产成人精品亚洲线观看| 亚洲无av在线中文字幕| 九九视频在线免费观看| 日韩成人伦理电影在线观看| 超碰97在线资源| 成人精品一区二区三区免费| 一区二区三区高清不卡| 欧美大尺度做爰床戏| 成人自拍在线| 久久精品国产欧美亚洲人人爽| av大片免费在线观看| 国产综合一区二区| 日本10禁啪啪无遮挡免费一区二区| 97影院秋霞午夜在线观看| 色综合欧美在线视频区| 国产精品偷伦视频免费观看了| 韩日一区二区三区| 91国内在线视频| 国产ts变态重口人妖hd| 国产日韩精品一区| 草草久久久无码国产专区| 国产色99精品9i| 在线日韩中文字幕| 在线观看亚洲天堂| 国产99一区视频免费| 91亚洲精品丁香在线观看| 啊v视频在线| 精品久久久久久中文字幕一区奶水 | 在线一区二区三区视频| 在线看福利67194| 欧美精品二区三区| 成人精品免费网站| 99热都是精品| 成人日韩在线观看| 亚洲国产精品中文| 欧美日韩国产精品综合| 青娱乐精品视频在线| 精品乱色一区二区中文字幕| 18视频在线观看| 欧洲生活片亚洲生活在线观看| 成人精品在线观看视频| 亚洲二区免费| 99在线热播| 性国产高清在线观看| 欧美三级资源在线| 中国xxxx性xxxx产国| 韩国在线视频一区| 91入口在线观看| 天堂中文а√在线| 欧美三级欧美一级| 中字幕一区二区三区乱码| 亚洲黄色高清| 狠狠爱一区二区三区| 成人性生交大片免费看网站| 欧美一区二区人人喊爽| 免费成人深夜夜行网站| 九九视频精品免费| 一区精品在线| 精品久久亚洲| 中文字幕亚洲综合久久筱田步美| 无码视频在线观看| 亚洲国产精品高清| 视色视频在线观看| 亚洲国产一成人久久精品| 亚洲一区二区三区乱码aⅴ| 国产在线二区| 日韩一区二区三区视频在线 | 亚洲精品成a人| 中文字幕一区二区三区四| 久久久久久久久久久久久久久久久久| 国产免费一区二区三区在线观看| 国产小视频在线| 欧美怡红院视频| 黄色精品视频在线观看| 精品亚洲国内自在自线福利| 在线观看亚洲视频啊啊啊啊| 欧美黄色一级| 久久久久女教师免费一区| 亚洲乱码精品久久久久..| 亚洲成人精品一区| 人妻丰满熟妇aⅴ无码| 麻豆91精品| 亚洲午夜精品福利| 欧美久久亚洲| 国内精品美女av在线播放| 日本视频在线观看一区二区三区| 一本久久a久久精品亚洲| 免费观看a级片| 久久99国产精品成人| 成人手机在线播放| 精品在线观看入口| 国产一区二中文字幕在线看| 2024最新电影免费在线观看| 亚洲第一偷拍网| 自拍偷拍18p| 亚洲精品少妇30p| 亚洲天堂av网站| 日韩高清在线观看| 久操网在线观看| 日韩成人a**站| 国产精品yjizz| 亚洲精品一区三区三区在线观看| 精品国模在线视频| 精品美女视频在线观看免费软件| 7777精品伊人久久久大香线蕉| 精品无码久久久久久久| 国产区在线观看成人精品| 久久精品无码一区二区三区毛片| 欧美日本一区二区高清播放视频| 视频在线精品一区| 91精品尤物| 国产精品永久免费在线| 操喷在线视频| 久久国内精品一国内精品| 欧美成人免费| 日韩精品在线看片z| 精品人妻一区二区三区潮喷在线| 亚洲精品v日韩精品| 久久精品在线观看视频| 91麻豆精东视频| www.久久com| 免费日本视频一区| 欧美国产亚洲一区| 亚洲黄色影片| 日韩视频在线免费播放| 青草久久视频| 成人在线视频网址| 91精品麻豆| 成人网欧美在线视频| 亚洲第一影院| 97色在线视频| 青青在线视频| 亚洲人成77777在线观看网| 欧美 日韩 国产 成人 在线 91| 欧美三级电影网站| av首页在线观看| 欧美日韩国产色| 国产麻豆视频在线观看| 国产精品乱码人人做人人爱| 亚洲综合色一区| 91日韩在线专区| 理论片大全免费理伦片| 国产精品中文有码| 亚洲女人在线观看| 精品一区免费av| 国产又黄又猛的视频| 日本特黄久久久高潮| 久久久久国产一区| 日韩成人av影视| 男人插女人下面免费视频| 亚洲专区免费| 国产午夜伦鲁鲁| 奶水喷射视频一区| 成年人黄色片视频| 99在线精品视频在线观看| 国产一级做a爰片久久毛片男| 合欧美一区二区三区| 日本成人在线不卡| 欧美福利视频| 欧洲精品在线播放| 在线一区免费观看| 欧美视频在线播放一区| 亚洲欧美视频| 成人免费视频久久| 日本vs亚洲vs韩国一区三区| 久久综合久久色| 蜜臀久久久久久久| 久久久久久国产精品日本| 国产成人免费视频网站高清观看视频 | 偷拍视屏一区| 欧美亚洲精品日韩| 日韩精品午夜| 一区二区三区日韩视频| 日本不卡免费一区| 欧美日韩亚洲国产成人| 欧美激情日韩| 天堂…中文在线最新版在线| 亚洲国产精品第一区二区| 欧美日韩第二页| 另类小说综合欧美亚洲| 17c国产在线| 国产不卡视频一区二区三区| av在线网站观看| 国产精品久久久久三级| 91插插插插插插| 午夜影院久久久| 无码人妻丰满熟妇奶水区码| 欧美日韩国产高清一区二区三区 | 国产调教视频在线观看| 欧美激情在线狂野欧美精品| 水蜜桃在线视频| 成人在线观看视频网站| 成人资源在线| 午夜精品一区二区在线观看的| 久久久9色精品国产一区二区三区| 91视频 - 88av| 日韩中文字幕麻豆| 九九热视频免费| 91在线看国产| 成人黄色短视频| 欧美性极品少妇精品网站| 中文字幕人妻互换av久久| 日韩欧美国产午夜精品| 日产精品久久久久久久性色| 久久精品国产99国产精品澳门| 麻豆国产在线| 91在线免费网站| 亚洲精品亚洲人成在线观看| 国产成人三级视频| 久久先锋影音| 亚洲精品激情视频| 国产精品欧美一区喷水| 免费看一级一片| 欧美吻胸吃奶大尺度电影 | 久久综合一区| 欧美在线视屏| 奇米影音第四色| 26uuu久久天堂性欧美| 一区二区视频免费看| 在线日韩av片| 神马久久久久久久久久| 欧美第一淫aaasss性| 78精品国产综合久久香蕉| 国产精品久久7| 亚洲欧美在线专区| 国产一级片自拍| 国产日韩欧美精品一区| 中文字幕亚洲精品在线| 日韩视频免费观看高清完整版在线观看| 国产女人在线观看| 欧美在线视频在线播放完整版免费观看 | 国产视频在线观看免费| 亚洲午夜女主播在线直播| 成人高清免费在线| 91亚洲精华国产精华| 精品国内自产拍在线观看视频 | 99久久精品免费看国产四区 | 中国一区二区三区| 丝袜美腿亚洲综合| 黄色正能量网站| 亚洲黄色性网站| 成人久久久精品国产乱码一区二区| 爽爽爽爽爽爽爽成人免费观看| 欧美福利在线播放| 美日韩免费视频| 视频一区二区三区中文字幕| 熟女少妇一区二区三区| 欧美日韩另类字幕中文| 特黄aaaaaaaaa真人毛片| 欧美精品福利视频| 97精品久久| 男人的天堂狠狠干| ww久久中文字幕| 六月丁香在线视频| 日韩成人在线播放| 电影一区二区三| 西游记1978| 久久69国产一区二区蜜臀| jizzjizzjizz国产| 在线中文字幕一区二区| 在线视频二区| 川上优av一区二区线观看| 亚洲国产精品综合久久久 | 国产成人在线影院| 久久婷婷一区二区| 日韩av中文字幕在线免费观看| 98色花堂精品视频在线观看| 狼狼综合久久久久综合网| 亚洲欧美bt| 女女互磨互喷水高潮les呻吟| 欧美在线视频日韩| 色影院视频在线| 99一区二区| 噜噜噜躁狠狠躁狠狠精品视频 | 青青国产精品| 久久av综合网| 久久久精品免费网站| 亚洲 小说区 图片区| 久久色精品视频| 成人在线视频中文字幕| 国产午夜大地久久| 久久精品一二三| 超碰在线人人干| 欧美亚洲免费电影| 日韩精品欧美激情一区二区| 无码人妻精品一区二区三区99不卡| 婷婷国产在线综合| а√天堂中文在线资源bt在线| 成人激情电影一区二区| 国产精品日本欧美一区二区三区| 微拍福利一区二区| 欧美探花视频资源| 天使と恶魔の榨精在线播放| 久久99精品久久久久久秒播放器|