日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android性能优化之较精确的获取图像显示到屏幕上的时间

發布時間:2023/12/15 Android 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android性能优化之较精确的获取图像显示到屏幕上的时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://blog.desmondyao.com/android-show-time/

這兩天我的包工頭歪龍木·靈魂架構師·王半仙·Yrom給我派了一個活:統計App冷啟動時間。這個任務看上去不難,但是要求統計出來的時間要,要特別準

意思就是,我必須要按Activity繪制到屏幕上這個時間節點作為標桿,來進行我的統計工作。畢竟如果是因為視圖處理不當而導致的measure/layout/draw耗時太久,這是不能忍的,需要及時統計到。雖然有點蛋疼,但是這個任務還算有意義,我就深挖一下,把過程分享出來。

注:本文所涉及源碼部分的sdk level為21

onResume真的已經顯示了嗎?

如果你看過官方文檔中的Activity生命指引,你會發現它說的是

Activity在onResume生命周期中已經是可見狀態。

那么我們就去這個onResume中看一看。現在我在Activty的onCreate第一行(super.onCreate之前)記錄一個時間點,onResume的最后一行(super.onResume之后)記錄一個時間點,將兩者的差值記錄下來。

打出來的Log是:I/MainActivity: onCreate -> onResume : 70。 即這個過程花費了70ms。那真的是只用了70ms我的Activity就已經完全顯示了嗎?我們來看兩個官方的衡量點:

  • 通過adb shell的命令
?

1

2

3

4

5

6

7

8

9

?

$ adb shell am start -W com.desmond.demo/.MainActivity

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.desmond.demo/.MainActivity }

Status: ok

Activity: com.desmond.demo/.MainActivity

ThisTime: 314

TotalTime: 314

WaitTime: 314

Complete

  • 啟動Activity時的可以看Tag = ActivityManager打出來的Log:

I/ActivityManager: Displayed com.desmond.testapplication/.MainActivity: +314ms

這兩個時間是一樣的,我們看哪個都行。這個314ms的啟動過程和上面的70ms是同一次啟動過程打出來的日志,那么問題來了,怎么會和我打出來的Log時間相差這么大?我們先看看系統打出來的時間到底是什么時間。

打出這段log的代碼在ActivityRecord:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

?

//ActivityRecord

private void reportLaunchTimeLocked(final long curTime) {

final ActivityStack stack = task.stack;

if (stack == null) {

return;

}

final long thisTime = curTime - displayStartTime;

final long totalTime = stack.mLaunchStartTime != 0

? (curTime - stack.mLaunchStartTime) : thisTime;

if (SHOW_ACTIVITY_START_TIME) {

// ...其他代碼

StringBuilder sb = service.mStringBuilder;

sb.setLength(0);

sb.append("Displayed ");

sb.append(shortComponentName);

sb.append(": ");

TimeUtils.formatDuration(thisTime, sb);

if (thisTime != totalTime) {

sb.append(" (total ");

TimeUtils.formatDuration(totalTime, sb);

sb.append(")");

}

Log.i(TAG, sb.toString());

}

// ...其他代碼

}

它的調用時機我們后面再討論,首先看一下它打出了什么。這個函數中將totalTime作為Displayed時間打了出來,值為當前時間 - stack.mLaunchStartTime。那這個mLaunchStartTime是什么時候被記錄的呢?查了一下調用發現在ActivityStackSupervisor.startSpecificActivityLocked會調用stack.setLaunchTime(r)去設置這個時間。

那么我們可以得出第一個結論:

結論1:?系統打出來的時間包含了進程啟動的時間。

因為進程啟動都是在ActivityStackSupervisor.startSpecificActivityLocked()中進行的,以ActivityThread.main為入口啟動一個新進程。如果對于這里不明白,可以參考一下老羅的Android應用程序啟動過程源代碼分析。

但是進程啟動這么耗時?我的test activiy也沒有自定義Application,更別提什么耗時操作了。我來實踐一下熱啟動,App退出,但是不殺進程,再對比一下我打的log和系統log的時間區別。

我:I/MainActivity: onCrete -> onResume : 37
系統: I/ActivityManager: Displayed com.desmond.testapplication/.MainActivity: +103ms

依然差了很多!

看來我們需要研究一下Activity的onResume過程及系統上報Displayed的時機了。

深入探究onResume過程

我先對AMS觸發Activity的onResume這個過程畫了一張圖:

在ActivityManagerService(AMS)告知Activity要resume時,它通過調用ApplicationThread.scheduleResumeActivity給ActivityThread.H(一個Handler)發送消息RESUME_ACTIVITY,然后H開始處理消息:

?

1

2

3

4

5

?

case RESUME_ACTIVITY:

Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "activityResume");

handleResumeActivity((IBinder) msg.obj, true, msg.arg1 != 0, true);

Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);

break;

在這個handleResumeActivity中就處理了所有的Resume邏輯,我們進去一探究竟。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

?

//ActivityThread.java

final void handleResumeActivity(IBinder token,

boolean clearHide, boolean isForward, boolean reallyResume) {

// 一些其他代碼

// 這步onResume

ActivityClientRecord r = performResumeActivity(token, clearHide);

if (r != null) {

final Activity a = r.activity;

// 一些其他代碼

if (r.window == null && !a.mFinished && willBeVisible) {

r.window = r.activity.getWindow();

View decor = r.window.getDecorView();

decor.setVisibility(View.INVISIBLE);

ViewManager wm = a.getWindowManager();

WindowManager.LayoutParams l = r.window.getAttributes();

a.mDecor = decor;

l.type = WindowManager.LayoutParams.TYPE_BASE_APPLICATION;

l.softInputMode |= forwardBit;

if (a.mVisibleFromClient) {

a.mWindowAdded = true;

wm.addView(decor, l); //這步很關鍵

}

}

//...

}

}

Activity.onResume() 這一步就是在performResumeActivity里面調用的,有興趣的同學可以去看看,里面代碼很簡單。

為什么說wm.addView這一步很關鍵?真正對Activity的視圖進行計算、繪制、flush到window上是wm.addWindow這一步做的,這里面代碼比較多,我直接畫張圖看清晰一點:

這張圖的代碼就不放了,關鍵的類和方法都在里面,有興趣的同學可以自行翻閱。有幾個注意的點:

  • Activity#getWindowManager()拿到的是Activity的成員變量mWindowManager,它是一個WindowManagerIpml實例,在Activity.attach內被賦值。所以我們在第一步直接就跳轉到了WindowManagerImpl.addView()
  • ViewRootImpl在requestLayout的時候將一個Runnable交由Choreographer去調度,讓它能夠在下一個繪制幀時執行它。這個Runnable內只有一條語句,就是執行doTraversal,主要的內容在其中執行的performTraversal中,這個函數非常非常長,做的事情大致就是從頂至下的measure/layout/draw,通知ViewTreeObserver的各類Listener也大部分都是在這一步中完成的。
  • 這時候我們回頭看之前ActivityThread.handleResumeActivity的代碼:Activity的onResume在wm.addView之前!。因為View的計算、繪制等都在wm.addView之后執行,那我們可以得出第二個結論:

    結論2:?在onResume的時候是肯定統計不到View的measure/layout/draw時間的。

    這時候我們要搞清楚的是,上面系統的Log是在哪一步調用的,它是否包含了View的measure/layout/draw的時間?這個過程可是一頓好找,大概是如下圖所示流程:

    5-6步之間被我精簡了一小部分內容,我來簡單解釋一下這個過程:

  • ViewRootImpl在performTraversals()的最后會調用performDraw()來將內容繪制到Surface上,最后一步它會執行mWindowSession.finishDrawing。這個mWindowSession是一個Session對象,它維持著ViewRootImpl與WindowManagerService(WMS)之間的聯系。(ViewRootImpl與WMS通信部分可以參考老羅的Android應用程序窗口(Activity)與WindowManagerService服務的連接過程分析)
  • 在這之后WMS通過Handler來調度繪制Surface的任務,它給自己內部類H發送了一個DO_TRAVERSAL消息。收到消息之后它就會執行performLayoutAndPlaceSurfacesLocked函數,之后有一系列的鏈式調用由于方法名字太長并且于本文沒有太多用處,在我的圖里被省略了。最后它會走到performLayoutAndPlaceSurfacesLockedInner,這里面會將Surface繪制到屏幕上,并調用handleAppTransitionReadyLocked,并如圖所示繼續向后調用。
  • ActivityRecord.Token是一個Binder對象,它活在ActivityManagerService進程中,用于AMS與WMS之間的通信。相對應的,AppWindowToken活在WindowManagerService進程中。每一個ActivityRecord.Token都對應一個AppWindowToken。它們的連接建立可以參考上面說到的老羅文章,以及我的另一篇文章:一個詭異的BadTokenException。
  • 那我們可以確定的是,在看到系統這條日志時,View的計算、繪制已經完成,并且Surface也被繪制到屏幕上。這樣我們可以得出第三個結論:

    結論3:?系統打出來的日志時Activity已經被完全展示到了屏幕上。

    View繪制結束的回調時機

    得出了結論,那我們要怎么知道什么時候View繪制結束呢?這里就仁者見仁,智者見智了。

    首先可以確認的是,所有ViewTreeObserver里面的Listener都是不夠準確的。為什么呢?它們里面能統計到的最遲就是OnDrawListener,我們可以在ViewRootImpl#draw()函數中看到,它是在真正draw這一步之前調用的,也就是說它沒有統計到draw的時間。

    我提供一個思路,能夠準確獲取到包括View的measure/layout/draw過程的時間。那就是在onResume中添加一個IdleHandler:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    ?

    @Override

    protected void onResume() {

    super.onResume();

    Looper.myQueue().addIdleHandler(new MessageQueue.IdleHandler() {

    @Override

    public boolean queueIdle() {

    Log.i(TAG, "onCreate -> idle : " + (SystemClock.uptimeMillis() - time));

    return false;

    }

    });

    }

    這個IdleHandler是什么?它會在Looper的消息隊列處理完當前阻塞的消息(即Idle中,等待獲取下一條消息)時被調用。我這里直接指定了主線程的消息隊列,那我在onResume中給它加入一個IdleHandler,它會什么時候調用呢,我們回顧一下Activity的onResume->ViewRoot的traversal這個過程,我做了一些修改:

    這里有一個需要注意的地方:

    ViewRootImpl在向Choreographer發送調度消息時,特地向主線程的Looper消息循環發送了一個“障礙消息”。利用MessageQueue#postSyncBarrier可以做到這一點,當出現了這一個障礙消息的時候,消息循環就暫時無法處理后續排入消息。有興趣的同學可以自行研究這個過程。

    Choreographer通過直接在native操作主進程的MessageQueue來排入消息,從而它的執行會無視我們加入的“障礙消息”。(這部分代碼就不深入了,可以參考老羅的Android應用程序消息處理機制(Looper、Handler)分析)。即ViewRootImpl#doTraversal這個函數也是在一次消息處理中發生的。它此時移除了MessageQueue里面的障礙消息,并且執行performTraversals。

    需要注意的是:這整個過程都是在主線程的消息循環中發生的。這個過程可以描述為如下幾步:

  • ActivityThread.H在處理RESUME_ACTIVITY消息時調用的handleResumeActivity會觸發Activity#onResume與ViewRootImpl#doTraversal。
  • ViewRootImpl#scheduleTraversals向主進程Looper發送了一個“障礙消息”,使主進程Looper無法繼續處理后續消息。
  • Choreographer通過native向主進程Looper排入消息,移除“障礙消息”,并執行ViewRootImpl#doTraversal。
  • 所以如果我們在onResume中向主進程添加入一個IdleHandler,它是必然會在這三步都走完,主進程Looper的MessageQueue才可能觸發Idle狀態,并觸發IdleHandler回調。

    我們可以實驗一下:在添加入的IdleHandler內打點,計算與onCreate第一行打點時間之差,最后打出來的Log:

    ?

    1

    2

    3

    4

    5

    ?

    MainActivity: onCrete -> onResume : 12

    MainActivity: onCrete -> onPreDraw : 138

    MainActivity: onCrete -> onPreDraw : 147

    MainActivity: onCrete -> idleHandler : 166

    ActivityManager: Displayed com.desmond.testapplication/.MainActivity: +192ms

    雖然還是離ActivityManager打出來的差了一點,但是這也是有理由的。我們看上面的WMS繪制Surface那一步,是通過Handler發送異步消息完成的,這里統計不到。

    總結

    雖然沒有完全貼近系統打出來的日志,但是通過IdleHandler的方式已經能統計到我想要的內容了(由Activity的onCreate第一步到整個界面顯示)。

    老羅的博客和AOSP源碼都是很棒的參考資料,建議多看看Handler/Looper的消息循環機制、AMS/WMS/主進程之間的交互,才能比較好的理解這個過程。

    參考文章:

    • Android性能優化典范(第6季)
    • Android應用程序消息處理機制(Looper、Handler)分析
    • Android應用程序窗口(Activity)與WindowManagerService服務的連接過程分析

    總結

    以上是生活随笔為你收集整理的Android性能优化之较精确的获取图像显示到屏幕上的时间的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产 亚洲 欧美 在线 | 婷婷激情在线观看 | 亚洲综合狠狠干 | 免费在线观看av网站 | 久久精品国产亚洲aⅴ | 国产高清视频免费最新在线 | 在线 国产 亚洲 欧美 | 99精品在线观看视频 | 日韩av手机在线看 | 欧美精品久久久久久久亚洲调教 | 免费在线观看av | 有码视频在线观看 | 亚洲精品视| 国产成人a v电影 | 亚洲电影久久久 | 久草在线免费资源站 | 久久激情五月丁香伊人 | 欧美精品久久久久久久久久白贞 | 狠狠色2019综合网 | 中文字幕一区二区三区乱码在线 | 国产黄色高清 | www.伊人色.com | 亚洲一区动漫 | 在线中文字幕av观看 | 国产精品美女久久久久久网站 | 天天做日日做天天爽视频免费 | 亚洲国产精品女人久久久 | 99一区二区三区 | 精品无人国产偷自产在线 | 久久久久免费精品国产小说色大师 | 亚洲精选在线 | 97国产大学生情侣白嫩酒店 | 91成人精品在线 | 久久免费看a级毛毛片 | 亚洲一区视频免费观看 | 亚洲日本色 | 日韩免费视频 | www.av在线播放| 国产免费av一区二区三区 | 最近中文字幕免费视频 | 日韩精品高清视频 | 99久久电影 | 国产精品午夜在线 | 久久免费电影网 | 日日爽 | 久久久久久97三级 | 亚洲精品视频免费看 | 免费在线观看的av网站 | 久久毛片网| 中文字幕在线免费 | 国产在线观看你懂得 | 在线观看视频中文字幕 | 草樱av| www.综合网.com | 国产高清在线永久 | 国产特级毛片aaaaaa毛片 | www天天干com | 国产亚洲视频在线免费观看 | 中文字幕av影院 | 欧美一级黄色视屏 | 99视频网址 | 91色偷偷| 超碰免费成人 | 国产成人精品免高潮在线观看 | 日本黄色大片儿 | 在线免费观看羞羞视频 | 日韩欧美精品一区二区 | 久久 地址 | 又污又黄的网站 | 亚洲成a人片在线www | 五月婷婷综合激情 | 精品中文字幕在线 | 国产欧美精品一区二区三区 | 国产精品一区二区久久精品爱微奶 | 这里只有精品视频在线观看 | 97超级碰碰碰视频在线观看 | 国内精品久久天天躁人人爽 | 欧美一级片播放 | 在线免费观看视频一区 | 国产视频亚洲视频 | 国产精品毛片久久久久久 | 日韩区欠美精品av视频 | 欧美激情视频一区二区三区 | www.色婷婷 | 亚洲 欧美变态 另类 综合 | 五月天综合网站 | 天天舔天天搞 | 欧美极品xxxx| 国产视频精选在线 | 99成人精品 | 91九色在线视频 | 99久久久国产免费 | 亚洲综合欧美日韩狠狠色 | 狠狠躁日日躁狂躁夜夜躁 | 网址你懂的在线观看 | av中文资源在线 | 久久久免费视频播放 | 麻豆久久精品 | 天天干天天操天天拍 | 九九视频免费在线观看 | 日韩丝袜在线观看 | 国产99久久精品 | 午夜在线观看 | 天天干天天拍天天操天天拍 | 欧美极品在线播放 | 狠狠综合 | 久久超碰在线 | 丁香视频在线观看 | 婷婷久草 | 欧美久久电影 | 丁香六月婷婷开心 | h视频在线看 | 国产高清视频免费观看 | 四虎国产| 久久久网页| 97av在线视频免费播放 | 一级黄色在线免费观看 | www.99热精品 | 成人av观看| 欧美性成人 | 伊人婷婷综合 | 婷婷草 | 国产99免费 | 精品国产免费av | 天堂av在线 | 国产精品久久久久久久久久新婚 | 亚洲天堂社区 | 国产一区二区三区免费视频 | 亚洲 中文 欧美 日韩vr 在线 | 亚洲午夜av| 黄色视屏av | 日本性高潮视频 | 日韩美女高潮 | 天天操狠狠干 | 伊人天天狠天天添日日拍 | 成人影视免费 | 黄色小说免费在线观看 | 成人免费在线观看av | 手机在线视频福利 | 九九有精品 | 亚洲最新av在线网址 | 97视频总站 | av东方在线 | 久久9999久久免费精品国产 | 九九免费在线观看 | 中文一区二区三区在线观看 | 亚洲伊人网在线观看 | 成人av亚洲 | 国产明星视频三级a三级点| 亚洲欧洲视频 | 激情丁香在线 | 麻豆传媒视频在线播放 | 久久久www成人免费毛片麻豆 | 国产成人一区二区三区影院在线 | 久久网站免费 | 色婷婷欧美 | 亚洲欧美成人 | 中文字幕视频播放 | 亚洲自拍自偷 | 9久久精品| 久久亚洲免费视频 | 91人网站 | 91亚洲视频在线观看 | 中文字幕日韩电影 | 亚洲欧洲在线视频 | 一区二区三区在线电影 | 国内精品国产三级国产aⅴ久 | 亚洲精品自拍视频在线观看 | 欧美黄色免费 | 免费观看av网站 | 午夜精品电影 | 久久久久国 | 欧美精品亚洲精品日韩精品 | 青青看片| 国产一二三四在线观看视频 | 久久久色| 国语精品久久 | 欧美日韩国产网站 | av亚洲产国偷v产偷v自拍小说 | 日韩一区二区在线免费观看 | 亚洲精品在线观看网站 | www.伊人网| 在线免费观看视频 | 99资源网 | 水蜜桃亚洲一二三四在线 | 国产伦理一区二区 | 亚洲精品午夜久久久 | 91在线小视频 | 狠狠色狠狠色终合网 | 久草精品电影 | 亚洲精品免费播放 | 揉bbb玩bbb少妇bbb | 五月激情婷婷丁香 | 精品亚洲成a人在线观看 | 亚洲成aⅴ人在线观看 | 人人干人人草 | 一级电影免费在线观看 | 中文字幕乱码一区二区 | 日韩免费视频 | av网站免费看 | 国产在线观看,日本 | 尤物97国产精品久久精品国产 | www日韩欧美 | 亚洲特级片 | 免费看片网站91 | 国产美女在线精品免费观看 | 欧美日韩国产色综合一二三四 | 996久久国产精品线观看 | 精品久久久久久久久亚洲 | 久久免费片 | av日韩精品| 亚洲精品白浆高清久久久久久 | 久久国产精品二国产精品中国洋人 | 日韩激情小视频 | 国产污视频在线观看 | 亚洲国产99 | 欧美日韩国产欧美 | a'aaa级片在线观看 | 免费日韩高清 | 日韩高清在线一区二区三区 | 日本中文字幕在线电影 | 黄色三级网站在线观看 | 成人cosplay福利网站 | 国产视频91在线 | 国产视频在线免费 | 亚洲伊人成综合网 | 99精品视频网站 | 黄色av一级 | 国产免费观看视频 | 激情综合色播五月 | 亚洲激情视频在线观看 | 日本中文字幕网 | 中文字幕一区二区三区久久蜜桃 | 成人在线观看免费 | 一区二区久久久久 | 色在线网| 黄色小说免费观看 | 久久污视频 | 免费网站污 | 五月婷婷久 | 中文字幕一区二区三区在线观看 | 国产精品系列在线播放 | 亚洲黄色三级 | 色视频在线免费 | 精品久久久久久久久久久久久 | 99爱这里只有精品 | 日韩av一区二区在线影视 | 亚洲免费av观看 | 91精品国产乱码久久 | 精品专区| 国内精品久久久久影院优 | 在线免费黄色片 | 九九九九九九精品 | 色婷婷亚洲 | 日本特黄一级 | 久久久久9999亚洲精品 | 国产精品久久人 | 欧美激情综合色综合啪啪五月 | 欧美一级性视频 | 亚洲一级电影在线观看 | 五月婷婷影视 | 国产最新网站 | 久久久久久美女 | 日韩精品首页 | 国产天天综合 | 国产日韩精品久久 | 国产精品一区在线播放 | se视频网址 | 麻豆视频在线免费观看 | 在线播放视频一区 | 亚洲精品欧洲精品 | 天天射天天干天天爽 | 97色婷婷| 国产一区欧美日韩 | 日韩精品91偷拍在线观看 | 国产午夜精品免费一区二区三区视频 | 日韩一区二区三区高清免费看看 | 91看片淫黄大片一级在线观看 | 一级c片| 69视频国产 | 成人一区二区三区在线观看 | 99久久国产免费免费 | 五月婷婷另类国产 | 久久久久久久久久影视 | 91精品一区二区三区蜜臀 | www.福利 | 久久人人添人人爽添人人88v | 久久一区二区三区日韩 | 日本在线中文在线 | 美女黄视频免费 | 久久精品久久久久久久 | 人人爽人人做 | 亚洲精品男人天堂 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品欧美久久久久久 | 美女免费网站 | 中文字幕日本电影 | 伊人天堂av | 99亚洲国产 | 国产特黄色片 | 日韩在线观看你懂得 | 五月激情久久 | 久久精品99国产精品酒店日本 | 成人免费一区二区三区在线观看 | 午夜av免费在线观看 | 一区二区三区免费在线观看视频 | 国产三级精品三级在线观看 | 91人人爽人人爽人人精88v | 丁香花在线观看视频在线 | 日本久久中文字幕 | 在线91色 | 国产成人精品久久久 | 精品国产日本 | 91av在线视频播放 | japanesexxxhd奶水| 麻豆久久久久久久 | 欧美日韩视频在线 | 国产大尺度视频 | 久草精品电影 | a级片久久久 | 国产精品欧美一区二区 | 国色天香av | 日韩精品视频免费 | 亚洲欧美日本一区二区三区 | 午夜av片| 91天堂在线观看 | 久久婷婷国产色一区二区三区 | 亚洲开心色 | 亚洲电影网站 | 中文字幕在线观看视频免费 | 国产成人三级 | 国内精品久久久久久久久久久 | 蜜臀一区二区三区精品免费视频 | 欧美色婷婷| 久久免费在线观看 | 亚洲一级黄色片 | a黄色一级片 | 久草在线资源视频 | 99操视频 | 久久69精品久久久久久久电影好 | 国产第一页在线播放 | 欧美成人黄色片 | 免费精品在线 | 人人插人人艹 | 91精品国产乱码在线观看 | 欧美国产日韩在线视频 | 久久婷五月 | 日日操日日干 | 蜜臀av网址 | 国产91探花| 国产精品成人自拍 | 日韩h在线观看 | 中文字幕国产一区二区 | 日韩成人黄色 | 亚洲一区二区精品视频 | 在线不卡的av| 久久成人综合视频 | 亚洲影视九九影院在线观看 | 一级一片免费观看 | 日韩城人在线 | 五月激情视频 | 不卡的av中文字幕 | 久久夜靖品 | 久久综合色播五月 | 国产xvideos免费视频播放 | 国产黄色一级大片 | 国产免费观看视频 | 91精品成人久久 | 麻豆成人精品视频 | www.777奇米 | 欧美精品在线一区 | 97人人模人人爽人人喊中文字 | 青青草在久久免费久久免费 | 国产成人一区二区三区久久精品 | 91久久国产露脸精品国产闺蜜 | 亚洲精品久久久久久国 | 91免费高清视频 | av不卡中文字幕 | 日韩视频在线观看免费 | 亚洲成av人影片在线观看 | www.超碰 | 2020天天干天天操 | 91| 99久热精品| 精品国偷自产国产一区 | 国产视频精品久久 | 亚洲九九九在线观看 | 欧美视频www | 精品国产色 | 亚洲色图av | 色先锋资源网 | 香蕉影院在线 | 国产成人三级在线 | av在线免费不卡 | 久久精品美女视频网站 | 一色屋精品视频在线观看 | 精品国产伦一区二区三区观看方式 | 99久久精品无码一区二区毛片 | 精品三级av | 国产精品一区二区三区久久久 | 亚洲人天堂 | 96亚洲精品久久 | 亚洲性xxxx| 黄色av免费电影 | 国产精品久久久久久久久毛片 | 在线亚洲天堂网 | 午夜精品久久一牛影视 | 中文字幕免费播放 | 日韩网站在线观看 | 亚洲欧美日韩国产精品一区午夜 | 狠狠色丁香婷婷综合欧美 | 玖玖在线观看视频 | 久久午夜视频 | 五月婷社区| 狠狠躁日日躁夜夜躁av | 国产91精品一区二区麻豆网站 | 色婷久久 | 狠狠躁夜夜躁人人爽超碰91 | 日韩一区二区三区免费视频 | 亚洲黄色免费电影 | 成人作爱视频 | 去干成人网 | 丁香高清视频在线看看 | 激情图片区 | 成人黄色电影在线播放 | 天天操天天操天天操天天操 | 永久免费观看视频 | 新版资源中文在线观看 | 欧美亚洲免费在线一区 | 天天碰天天操视频 | 久久精品欧美一 | 黄色毛片大全 | 国产精品毛片一区二区在线看 | 午夜视频在线观看一区 | 国产在线更新 | 日韩美女av在线 | av手机在线播放 | 国产精品热 | 五月婷婷六月综合 | 国产成人精品av | 手机看片 | 四虎影视成人永久免费观看视频 | 成人av电影免费观看 | 中文字幕在线观看免费高清完整版 | 国产一级免费观看 | 激情丁香5月| 午夜精品成人一区二区三区 | 五月婷婷综合激情 | 成年人国产在线观看 | 国产99中文字幕 | www国产亚洲精品久久麻豆 | 久久亚洲专区 | 日韩国产在线观看 | 在线你懂| 亚洲理论在线 | 插综合网 | 深爱综合网 | 日韩欧美国产激情在线播放 | 精品免费久久久久 | 精品国产一区二区三区噜噜噜 | www.亚洲精品| 99久久综合国产精品二区 | 国产这里只有精品 | 天天干天天爽 | 特级大胆西西4444www | 日本久久片 | 免费福利片2019潦草影视午夜 | 国产裸体永久免费视频网站 | 色婷婷狠狠五月综合天色拍 | 999日韩| 精品国产视频一区 | 天天干天天操天天射 | 国产精品99久久久精品免费观看 | 亚洲人成在线观看 | 国产午夜在线观看 | 91久久久久久久一区二区 | 色五月色开心色婷婷色丁香 | 久久中文字幕视频 | 日本激情动作片免费看 | 日韩精品免费一区二区在线观看 | 国产一级免费播放 | 国产黄色在线看 | 亚洲精品18日本一区app | 干综合网| www.天天射.com | 亚洲精区二区三区四区麻豆 | 又紧又大又爽精品一区二区 | 99免费在线观看视频 | 97香蕉超级碰碰久久免费软件 | 国产精品午夜在线观看 | 免费在线观看黄 | 亚洲理论片在线观看 | 美女在线观看av | 波多野结衣日韩 | 日日碰狠狠躁久久躁综合网 | 天天射天天射 | 婷婷色中文字幕 | 欧美午夜精品久久久久久孕妇 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 国产特级毛片aaaaaa | 人人射人人爱 | 肉色欧美久久久久久久免费看 | 在线观看一区二区精品 | 亚洲aⅴ在线 | 夜夜操综合网 | 免费的成人av | 免费观看版 | 五月天激情开心 | 最近中文字幕免费视频 | 国产欧美精品在线观看 | 国产手机在线观看视频 | 日韩免费三区 | 在线观看免费黄色 | 欧美一区二区在线免费看 | 黄网站www | 日韩在线观看高清 | 五月婷婷免费 | 日韩影视精品 | 午夜三级毛片 | 青青河边草免费直播 | 国产高清视频免费在线观看 | 五月婷婷久久丁香 | 日韩日韩日韩日韩 | 大型av综合网站 | 中文字幕在线免费观看视频 | 日韩av手机在线看 | 在线97| 干av在线| av一区二区三区在线 | 狠狠色狠狠色合久久伊人 | 天天干 天天摸 天天操 | 成人av观看| 久草视频在线观 | 欧美日产一区 | 国产69久久| 欧美精品一级视频 | 草久在线观看视频 | 午夜精品一区二区三区免费视频 | 婷婷六月天在线 | 爱爱av网 | 国产色一区 | 97av影院| 成人国产网址 | 狠狠色伊人亚洲综合网站野外 | 国产精国产精品 | 国产精品美女久久久网av | 国产色 在线 | 国产成人在线免费观看 | 99这里只有精品99 | 一 级 黄 色 片免费看的 | 在线看毛片网站 | 亚洲欧美怡红院 | 国产黄色大片 | 91精品视频在线观看免费 | 亚洲成人国产精品 | 亚洲精品播放 | 国产精品人人做人人爽人人添 | 免费的黄色的网站 | 91精品国产92久久久久 | 欧美精品久久久久久 | 99热这里只有精品免费 | 午夜精品久久久久久久久久久 | 西西444www大胆无视频 | 国产成人精品一区二区在线 | 激情视频一区 | 免费在线视频一区二区 | 日本精油按摩3 | 亚洲成av人影院 | 国语对白少妇爽91 | 精品久久免费 | 人人草人人草 | 国产精品中文字幕在线播放 | 免费观看一级成人毛片 | 99精品国自产在线 | 探花视频在线观看+在线播放 | 狠狠久久 | 成人在线免费小视频 | av丁香花| 日韩一区二区在线免费观看 | 国产亚洲精品久久久久久 | 久久天天躁 | 99r国产精品 | 欧美成人视| 国产中文字幕视频在线观看 | 日日夜夜精品免费 | 黄色毛片一级 | 欧美性色xo影院 | 久久精品视频国产 | 亚洲精品国产精品国产 | 最近更新中文字幕 | 国产亚洲综合性久久久影院 | 久久视频在线观看中文字幕 | 亚洲精品字幕 | 中文字幕二区在线观看 | 美女网站在线播放 | 91系列在线观看 | 国产精品久久久影视 | 国产精品乱码久久 | 国产91精品在线播放 | 深夜免费福利在线 | 在线亚洲观看 | 在线最新av | 国产不卡片 | av免费看在线 | 伊人色**天天综合婷婷 | 精品国产一区二区三区蜜臀 | 日韩99热| 久久综合久久综合九色 | japanese黑人亚洲人4k | 日日射av | 国产黄a三级三级三级三级三级 | 91九色网址| 日本不卡123 | 天天天天爱天天躁 | 五月网婷婷 | 色五丁香 | 玖玖在线播放 | 超碰97国产在线 | 中文在线免费看视频 | 天天曰天天射 | 九九综合九九综合 | 天天草视频 | 国产精品视频永久免费播放 | 日韩专区一区二区 | 精品国产美女在线 | 99国产精品免费网站 | 国产视频黄 | 日韩欧美在线观看一区二区三区 | 欧美va电影 | 黄色成人在线观看 | 99热精品国产一区二区在线观看 | 深夜免费福利在线 | 成人永久视频 | 国产精品久久久久久五月尺 | 日韩精品aaa | 天天要夜夜操 | 中文字幕一二 | 亚洲精品一区二区在线观看 | 夜夜操夜夜干 | 伊人视频 | 国产美女无遮挡永久免费 | www.xxxx变态.com | 国产一区免费看 | 精品国产成人在线影院 | 国产亚洲精品久久久久动 | www夜夜操com | 97超碰在线久草超碰在线观看 | www视频在线观看 | 久久精品国产免费看久久精品 | 中文字幕字幕中文 | 狠狠色婷婷丁香六月 | 国产精品美女久久久 | 正在播放一区 | 亚洲一区欧美精品 | 久久精品一区八戒影视 | 成人黄色影片在线 | 久久国产精品网站 | 欧美极度另类性三渗透 | 日本九九视频 | 国产成人精品免高潮在线观看 | 成人一区影院 | 天天曰天天| 韩日成人av | 五月婷婷丁香激情 | 国产真实精品久久二三区 | 日本最新一区二区三区 | 九九免费精品视频在线观看 | 国产福利一区二区在线 | 亚洲国产精品va在线看黑人动漫 | 免费久久久 | 亚a在线 | 国产一区久久 | 一区二区影院 | 久久99精品久久久久久秒播蜜臀 | 成人福利在线观看 | 欧美va天堂va视频va在线 | 久久综合九色综合久99 | 日韩精品一区二区免费 | 亚洲一级免费电影 | 久久色网站 | 精品亚洲男同gayvideo网站 | 欧美一区在线看 | 免费久久久久久久 | 亚洲va欧美va人人爽春色影视 | 成人高清av在线 | 日韩电影精品 | 欧美日韩一级久久久久久免费看 | www免费黄色 | 五月婷婷丁香综合 | 精品久久久久久久久久久久久久久久 | 日韩精品中文字幕久久臀 | 天天操夜夜操夜夜操 | 国产一二区在线观看 | 婷婷色网站 | 久久免费一 | 激情 婷婷| 91免费网 | 97手机电影网| 一级黄色免费网站 | 国产一区二区在线播放视频 | 国产精品夜夜夜一区二区三区尤 | 91麻豆网 | 天天色天天爱天天射综合 | 久久高清免费观看 | 婷婷激情综合 | 久久这里 | 免费网站在线观看成人 | 免费视频网 | 在线看v片 | 玖玖精品视频 | 成人毛片一区二区三区 | 国产夫妻自拍av | 丝袜av网站| 成年人看片 | 久久精品成人热国产成 | 欧美日韩国产高清视频 | 999久久久 | 日日干夜夜操视频 | 免费视频网 | 91成人免费看 | 天无日天天操天天干 | 麻豆成人精品 | 精品一区免费 | 91av在线电影| 国产精品99久久久久久武松影视 | 久久高清毛片 | 亚洲欧美日韩国产 | 日韩电影中文,亚洲精品乱码 | 九九亚洲视频 | 国产成人精品一区一区一区 | 久久精品黄 | 亚洲国产一区在线观看 | 亚洲视频精选 | 91porny九色在线播放 | 亚洲激情精品 | 国产精品久久久久久久久久白浆 | 91超在线| 九九热免费精品视频 | 999精品视频 | 免费观看av网站 | 91cn国产在线 | www久久精品 | av观看在线观看 | 六月婷色| 91福利在线导航 | 国产91在线播放 | 手机av观看 | 久久国内精品 | 日本激情动作片免费看 | 久久精品网站视频 | 久久免费激情视频 | 国产麻豆成人传媒免费观看 | 亚洲免费小视频 | 91人人澡人人爽人人精品 | 国产精品嫩草影院99网站 | 国产精品久久久久久久久久 | 欧美日在线观看 | 在线观看色网站 | 99欧美精品 | 伊人天天狠天天添日日拍 | 国产精品久久久久久久久久尿 | 免费在线观看av电影 | 一级黄色片在线免费观看 | 不卡国产视频 | 人人草在线观看 | 激情影音 | 五月宗合网 | 亚洲一区欧美激情 | 999成人| 97在线观看视频免费 | 98涩涩国产露脸精品国产网 | 久精品视频在线观看 | 看片一区二区三区 | 五月婷婷在线视频 | 天天操天天射天天操 | 色婷婷综合久久久 | 免费福利在线 | 狠狠色香婷婷久久亚洲精品 | 看v片| 欧美黑人xxxx猛性大交 | 国内丰满少妇猛烈精品播放 | 国产无套一区二区三区久久 | a级国产毛片 | 色婷婷导航 | 成人资源在线观看 | 中文字幕频道 | 区一区二在线 | 国产精彩视频一区二区 | 91久久精品日日躁夜夜躁国产 | 操操操综合 | 色婷婷久久久 | 婷婷深爱网 | 色网址99| 亚洲影视资源 | 亚洲视频综合在线 | 久草视频在线资源站 | 久久综合九色九九 | 91成人在线观看喷潮 | 久久人人爽人人爽 | 日韩欧美高清一区二区 | www.黄色 | 国产精品久久久久久久久久久久久 | 欧美成人h版 | 一区二区三区精品在线 | 国产高清免费av | 日韩在线无 | 波多野结衣在线播放视频 | 欧美激情综合五月 | 国产在线不卡精品 | 欧美一级欧美一级 | 日韩视频一 | 久久精品亚洲精品国产欧美 | 成人精品一区二区三区中文字幕 | 久久九九久久九九 | 免费在线观看av的网站 | 日韩精品在线观看视频 | 激情五月综合网 | 成人一级片视频 | 天天色天天操天天爽 | 中文字幕在线人 | 成人免费观看网站 | 人人爽人人射 | 国产精品视频免费在线观看 | 久久国产精品成人免费浪潮 | 国产精品毛片网 | 97av超碰| 国产69久久 | 米奇狠狠狠888 | av在线超碰 | 亚洲一二区精品 | 高清国产在线一区 | 亚洲一区网| 五月天综合激情网 | 九草视频在线 | av成人免费在线观看 | 久久黄色影院 | av在线免费网站 | 久久97久久97精品免视看 | 中文字幕视频三区 | 91久久国产综合精品女同国语 | 久草在线视频免赞 | 欧美-第1页-屁屁影院 | 国产精品久久久精品 | 99久久精品午夜一区二区小说 | 久久老司机精品视频 | 国产中年夫妇高潮精品视频 | 丁香激情综合久久伊人久久 | 中文字幕日韩国产 | 欧美激情第28页 | 国语麻豆| 干 操 插 | 国产一级免费片 | 国产一区影院 | www.com操| 免费看污的网站 | 国产剧情在线一区 | 国产成人在线网站 | 久久夜色精品国产欧美一区麻豆 | 四虎5151久久欧美毛片 | 国产香蕉久久 | 亚洲理论电影网 | 国产成人综合精品 | 婷婷新五月 | 午夜精品久久久久久久99 | 日韩a在线观看 | 日韩有码欧美 | 中文字幕欧美三区 | 日日夜夜天天综合 | 欧美热久久 | 国产特黄色片 | 狠狠干狠狠久久 | 国产99久久精品 | 色九九在线 | 日韩精品国产一区 | 亚洲人人射 | 激情网综合 | 国产精品一区二区久久精品爱微奶 | 国产精品成人一区 | 黄色av大片 | 97免费视频在线 | 久久国产免| 超碰97中文| 91精品国产自产91精品 | 91免费网 | 中日韩免费视频 | 久久69av| 久草精品在线观看 | 蜜臀av性久久久久av蜜臀三区 | 91手机视频在线 | 色综合久久中文综合久久牛 | av一级在线 | 婷婷九月激情 | 国产黄在线免费观看 | 精品v亚洲v欧美v高清v | 国产中文字幕网 | 国产精品一区二区久久久久 | 婷婷国产在线观看 | 五月情婷婷 | 97国产精品免费 | 免费a现在观看 | 美女啪啪图片 | 国产免费一区二区三区网站免费 | 蜜臀91丨九色丨蝌蚪老版 | 色就干| 国产一区二区三区四区在线 | 日本aaaa级毛片在线看 | 国内免费久久久久久久久久久 | 国产精品福利午夜在线观看 | 精品免费视频. | 日韩一区在线播放 | 日本精品视频在线观看 | 在线观看中文字幕视频 | 久热免费 | 成人av中文字幕 | 狠狠色丁香婷婷综合基地 | 色诱亚洲精品久久久久久 | 日韩一区二区在线免费观看 | 国内丰满少妇猛烈精品播放 | 午夜精品久久久久久久99婷婷 | 久久久精品欧美 | 国产精品原创 | 欧美久久影院 | 五月婷婷综合在线观看 | 狠狠干在线 | 国产精品不卡av | 麻豆传媒在线免费看 | www.天天操.com | 中文字幕av在线播放 | 九九视频网站 | 国产精品久久久久久久久大全 | a精品视频| 亚洲精品美女在线观看播放 | 99视频偷窥在线精品国自产拍 | 国产精品欧美久久久久无广告 | 97超碰免费在线 | 婷婷亚洲综合五月天小说 | 国产精品精品久久久 | av中文字幕亚洲 | 国色综合 | 久久精品美女视频 | 国产在线高清 | 亚洲成人免费在线观看 | 69国产盗摄一区二区三区五区 | 欧美日韩视频一区二区 | 99精品视频免费观看视频 | 国产精品永久免费视频 | www日日夜夜 | 日本三级中文字幕在线观看 | 国产字幕在线观看 | 在线观看黄av | 五月天丁香 | 国产精品第72页 | 亚洲国产操 | 国内揄拍国内精品 | 人人爽人人舔 | 黄色毛片在线 | 日韩成人免费电影 | 激情五月看片 | 久久男人免费视频 | 亚洲人成免费 | 日本美女xx| 九九色网 | 久久久久久久99精品免费观看 | 天天操婷婷 | 中文字幕在线观看视频一区二区三区 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 久久久久久国产精品久久 | 国产aaa免费视频 | 国产高清视频免费最新在线 | 午夜视频免费播放 | 国产精品一区二区在线观看免费 | 黄色资源在线观看 | 91av资源在线 | 国产视频一区在线免费观看 | 久久久蜜桃一区二区 | 久久久久久免费 | 亚洲黄色在线播放 | 久久精品看 | 808电影免费观看三年 | 国产99久久久精品视频 | 国内精品久久久久影院日本资源 | 色综合色综合久久综合频道88 | 精品久久片| 十八岁以下禁止观看的1000个网站 | 国产伦精品一区二区三区无广告 | 国产视频亚洲精品 | 中文字幕在线视频第一页 | 天天操天天摸天天干 | 亚洲国产黄色 | 超碰97人人在线 | a视频免费看 | 国产看片免费 | 97人人看 | 久久精品—区二区三区 | 国产69精品久久久久9999apgf | 免费av免费观看 | 超碰在线资源 | 日韩字幕|