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

秒開率從 18% 到 64%,我們對小程序模擬器做了什么? 原創(chuàng)

發(fā)布于 2025-2-26 14:58
瀏覽
0收藏

小程序是一種運行在快手生態(tài)內,無需下載安裝、即用即走的輕量級應用。其中,模擬器是快手開發(fā)者所使用的工具中最核心的模塊之一,但因性能問題收到開發(fā)者反饋。為此,24 年 Q2 快手啟動了模擬器性能優(yōu)化專項,從線上數(shù)據看:模擬器秒開率從 18%提升至 64%,F(xiàn)CP P90 從 4.4s 提升至 1.9s。本文詳細介紹優(yōu)化措施和成效。

一、問題背景

小程序是快手開放平臺對外提供的開放能力之一, 是一種運行在快手生態(tài)內,無需下載安裝、即用即走的輕量級應用。開發(fā)者以快手小程序為載體,以優(yōu)質的內容、服務供給或內容生產連接用戶。小程序接入流程可簡單劃分為四步:注冊小程序、開發(fā)調試、審核上線、線上運營。其中開發(fā)調試工作主要在快手開發(fā)者工具上進行,而模擬器是快手開發(fā)者工具最核心的模塊之一。


由于小程序不能直接使用瀏覽器環(huán)境運行,我們在開發(fā)者工具中提供了模擬器模塊,模擬小程序在快手客戶端的表現(xiàn)。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


模擬器是快手開發(fā)者工具中開發(fā)者使用頻率最高的模塊,最常見的使用場景是:修改代碼=>觸發(fā)編譯=>模擬器刷新=>查看效果,模擬器的加載速度直接影響開發(fā)者的開發(fā)效率。


從線上數(shù)據看,模擬器性能確實比較差:FCP P90 只有 4.4s,秒開率只有 18%,開發(fā)者也多次反饋期望優(yōu)化模擬器的性能。


注:本文提到的 FCP 指編譯完成后模擬器收到刷新事件,到小程序首次內容渲染所花的時間,秒開率指在 1 秒內完成 FCP 的比例。

二、分析解決

對于性能優(yōu)化,常見思路是:理清各階段耗時->找出耗時原因->制定相應優(yōu)化方案。第一步,我們先要統(tǒng)計各階段耗時。

2.1 如何統(tǒng)計模擬器啟動各階段耗時?

對于常規(guī)前端項目,很容易想到使用 performance 錄制火焰圖來分析耗時,但小程序模擬器比較特殊,無法使用 performance 錄制。

2.1.1 為什么模擬器不能使用 performance 錄制

快手小程序采用了雙線程架構,分為邏輯層與渲染層。在模擬器中,渲染層使用 Electron Webview(獨立進程)承載,一個頁面對應一個 iframe;邏輯層使用 Electron BrowserView(獨立進程)承載。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


因為執(zhí)行信息分布在兩個進程中,但調試器 performance 錄制的只能對接一個進程,這導致了不能直接使用 performance 錄制功能,所以只能先在代碼中手動打點來記錄啟動時各階段耗時。


2.2 手動打點分析,確定主要優(yōu)化方向


通過在代碼中手動打點,我們觀察到容器準備階段的耗時比較長,再加上不能用 performance 錄制,無法細致的統(tǒng)計加載執(zhí)行階段中的耗時,所以一開始我們優(yōu)先考慮優(yōu)化容器準備階段耗時。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


2.2.1 優(yōu)化容器準備階段耗時

雙進程改為單進程:

在當前的模擬器方案中,每次模擬器刷新,都需要銷毀并重建邏輯層容器,重新加載框架文件以及基礎庫(因為需要重新加載基礎庫、執(zhí)行用戶代碼,重新走一遍小程序的生命周期),這些操作耗費了比較多的時間。我們的優(yōu)化思路是盡可能減少需要重新加載執(zhí)行的資源(進程資源、文件資源),有三個方案:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


三個方案運行邏輯簡述如下:

BrowserView + IFrame:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


webworker:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


IFrame:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


綜合評估:計劃采用 IFrame 方案。

  • 從內存占用、可移植性來看,webworker、IFrame 方案比較好;
  • IFrame 刷新速度略快于 webworker,webworker 運行時性能更好:
  1. webworker 方案會新開一個線程,運行時性能優(yōu)與 IFrame,但由于是在 PC 端,單線程帶來性能影響比起在移動端更小,也能接受。
  2. 模擬器主要場景是刷新看效果,而不是操作使用模擬器中的小程序,所以刷新速度比運行時性能優(yōu)先級更高
  • 從時間成本看,IFrame 方案更小,且改動點在能夠被 webworker 復用,后期即便考慮 webworker 方案也能成本也更小一些。


將邏輯層通過一個 IFrame 來承載,并且將其至于模擬器容器進程下,與頁面 IFrame 同級,這樣就可以拿掉一個進程,并且得益于同源特性,IFrame 還可以復用父進程的線程資源,刷新速度會更快。

模塊緩存復用:

由于邏輯層、渲染層調整后變成了同級的 IFrame,可以共享 parent window,在此基礎上,我們可以將邏輯 / 渲染層框架文件一些比較獨立的、業(yè)務無關的功能模塊提取至父容器里面,通過 parent window 調用,以降低框架文件包體積,提升加載速度。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


2.3 performance 錄制統(tǒng)計更精細耗時

模擬器改為單進程后帶來另一個好處是能夠使用調試器的 performance 錄制功能了,因為渲染層跟邏輯層改成了 IFrame 來承載,處于同一個進程中,執(zhí)行信息可以由調試器直接采集到。

2.3.1 編譯產物優(yōu)化為按需加載

通過觀察火焰圖,發(fā)現(xiàn)模擬器在啟動時就將小程序代碼中所有頁面的編譯產物加載了,這一段邏輯耗費了比較多的時間,但其實每次模擬器刷新并不需要把所有的頁面編譯產物都加載進來,只需加載當前頁面所需編譯產物即可。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


我們將編譯產物調整為了按需加載:當基礎庫需要執(zhí)行對應編譯產物時再去加載。加載方式也由之前的 script 標簽異步加載,替換成了 readFileSync + eval(基礎庫限制只能使用同步方式加載),readFileSync 讀取文件內容,eval 完成加載。


但調整為按需加載之后,發(fā)現(xiàn)了一個新的問題:如果斷點所指向代碼的執(zhí)行時機比較靠前(如 onLoad 階段),則有可能導致斷點失效。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


為什么斷點失效了?

經過 debug,發(fā)現(xiàn)斷點失效跟編譯產物的加載方式有關。原先使用 script 標簽加載,調試器可以將代碼與 script 標簽的 src 地址指向文件直接關聯(lián)上,而優(yōu)化后使用了 eval,無法直接將代碼與文件關聯(lián)上,從而導致斷點失效。


全量加載(優(yōu)化前):

斷點設置流程:第一次收到路由事件后先使用 script 標簽全量加載所有頁面編譯產物,調試器根據 script src 屬性指向的文件路徑找到并通知內核設置斷點。

加載流程:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


按需加載(優(yōu)化后):

斷點設置流程:eval 加載執(zhí)行代碼時,調試器開始解析 sourcemap,解析完成后通知內核設置斷點。

加載流程:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


但我們還發(fā)現(xiàn)一個現(xiàn)象是:如果斷點指向代碼執(zhí)行時機比較靠后,則可以斷點成功。這是因為編譯產物文件中有 sourcemap,sourcemap 解析完成后調試器也能將 eval 的代碼跟對應文件關聯(lián)上,找到對應文件相關斷點并通知內核設置斷點,所以此時能斷點成功。

通過 #sourceURL 解決

問題主要原因在于,調試器無法在一開始將 eval 的代碼與源文件關聯(lián)上,雖然 sourcemap 解析完也能關聯(lián)上,但 sourcemap 解析是耗時的,也就導致了調試器通知模擬器內核設置斷點時,斷點指向代碼已經執(zhí)行過了,導致斷點不生效,所以不能完全依賴 sourcemap。

有沒有辦法不依賴 sourcemap 的情況下能讓 eval 與源文件直接關聯(lián)上?我們在 Chrome 官方文檔中找到了 #sourceURL 這個配置:


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


通過這個配置可以讓調試器將 eval 的代碼跟文件直接關聯(lián)上,無需等待解析 sourcemap 完成,即可直接根據 sourceURL 配置查找并通知內核設置斷點。

所以我們給源碼加上了 #sourceURL 注釋再進行 eval。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


優(yōu)化后的斷點設置流程:

秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)

2.4 performance 錄制為什么會影響模擬器性能?


在使用 performance 錄制功能時,發(fā)現(xiàn)開啟錄制狀態(tài)下模擬器的啟動速度要快一些。

秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)

經過實測,performance 錄制確實讓模擬器啟動速度變快了,且差距明顯。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)



秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


考慮到調試器與模擬器主要是通過 CDP 消息進行交互,我推測是開啟錄制后某條 CDP 消息導致了模擬器性能大幅提升。

2.4.1 CDP 是什么?

CDP 全稱是 Chrome DevTools Protocol,是供 Chrome Devtools 使用的一個協(xié)議,簡單說下 Chrome Devtools 的原理:

  • 加載一個 web 頁面時,瀏覽器會為該頁面起一個 Websocket  Server,在打開這個頁面的 Devtools 時與該 Server 建立 Websocket 連接,以這種方式實現(xiàn)通信。
  • 在某些關鍵事件發(fā)生時(如網絡請求,用戶調用 console api),瀏覽器內核會向 devtools 發(fā)送 CDP 消息;devtools 也可以向瀏覽器內核發(fā)送消息,來命令頁面執(zhí)行某些操作(如在 console 面板中輸入代碼并執(zhí)行)。二者之間的通信遵循 Chrome Devtool Porotol。


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


一條 CDP 消息示例

秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


2.4.2 開啟 performance 錄制后,調試器對模擬器做了什么?

我們可以通過 Protocol Monitor 面板看到開啟錄制后調試器往模擬器發(fā)送了哪些 CDP 消息(圖中紅框部分,大多是 xx.disable:禁用某些功能)


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


簡單的方法是將這些消息直接挨個攔截測試一下就能知道哪些消息提升了性能,不過由于這里用的是 Electron Webview 自帶的原生調試器,沒辦法直接攔截原生調試器發(fā)送至模擬器內核的 CDP 消息,還是需要從開發(fā)者工具自己實現(xiàn)的調試器入手。


但開發(fā)者工具中的調試器未實現(xiàn) performance 功能,所以也不能直接測試。我嘗試將開發(fā)者工具中調試器與原生調試器都關閉后,模擬器性能達到了開啟 performance 錄制后的效果,這能得出一個結論是「模擬器性能下降是由開發(fā)者工具調試器造成的」。

2.4.3 優(yōu)化調試器相關邏輯

經過調試,我們發(fā)現(xiàn)可以對調試器的部分 CDP 消息做相關優(yōu)化:對一些在啟動階段用不上的調試器功能,先暫時關閉(緩存相關 CDP 消息),等實際用到對應功能或模擬器加載完成時再打開(發(fā)送所有緩存消息),來達到提升模擬器加載速度的效果。


最終方案如下圖所示:

出于穩(wěn)定性考慮,我們也為這個優(yōu)化加了開關


秒開率從 18% 到 64%,我們對小程序模擬器做了什么?-AI.x社區(qū)


三、總結


本文介紹了我們在對模擬器進行性能優(yōu)化過程中,做了哪些事情。首先通過手動打點分析耗時,確定了主要優(yōu)化方向,將模擬器的雙進程架構改成了單進程架構。在單進程架構下,通過增加緩存復用層,進一步提升了加載速度。同時單進程架構也使得我們可以使用 performance 錄制工具進行更精細的耗時分析,針對性的對編譯產物做了按需加載優(yōu)化,并通過「#sourceURL 注釋」解決了斷點失效的問題。此外,我們也對調試器相關邏輯進行了優(yōu)化,并取得不錯的效果。

??優(yōu)化前后對比??

經過本次優(yōu)化后,模擬器秒開率從 18%提升至 64%,F(xiàn)CP P90 從 4.4s 提升至 1.9s,在開發(fā)者滿意度調研中也獲得了好評。模擬器的性能與開發(fā)者體驗、開發(fā)效率息息相關,而提高開發(fā)者的開發(fā)體驗與開發(fā)效率,是我們團隊的首要任務。未來,我們將繼續(xù)努力,不斷優(yōu)化和完善模擬器的各項功能,為開發(fā)者提供更好的支持。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
標簽
收藏
回復
舉報
回復
相關推薦
youjizz在线视频| 国产精品密蕾丝袜| 1区2区3区在线| 久久奇米777| 成人免费福利视频| 日韩毛片在线视频| 欧美一区电影| 亚洲成人久久电影| 亚洲 激情 在线| 超碰91在线观看| 国产精品久久精品日日| 国产日韩欧美精品| 国产精品九九九九| 久久久xxx| 欧美激情国产高清| 国产破处视频在线观看| 风间由美性色一区二区三区四区| 色狠狠综合天天综合综合| 强开小嫩苞一区二区三区网站| 天堂中文在线资源| 国产乱人伦偷精品视频不卡| 日本久久亚洲电影| 精品亚洲永久免费| 欧美韩国日本在线观看| 亚洲男人天堂网| 国产精品99精品无码视亚| 欧美日韩精品一区二区三区视频| 亚洲成av人片www| 四虎免费在线观看视频| 成人午夜电影在线观看| 91丨九色丨蝌蚪丨老版| 成人一区二区三区四区| 在线观看国产一区二区三区| 亚洲深爱激情| 欧美激情中文字幕在线| 精品亚洲乱码一区二区 | 99久久精品免费看国产一区二区三区| 免费黄色小视频在线观看| 中文亚洲欧美| 久久久久久久久爱| 久久高清无码视频| 亚洲精品一二三区区别| 日韩有码在线播放| 超碰人人人人人人人| 国产欧美日韩精品一区二区免费| 日韩精品久久久久| 日本黄色录像片| 国产精品视屏| 亚洲护士老师的毛茸茸最新章节| 熟女人妻一区二区三区免费看| 欧美一级在线| 欧美精品 国产精品| 精品亚洲一区二区三区四区| 韩国精品视频在线观看| 欧美日韩中文另类| 中文av一区二区三区| 日韩网站中文字幕| 欧美性大战久久久久久久| 成人性生生活性生交12| 韩国理伦片久久电影网| 制服丝袜在线91| 五月天视频在线观看| 自拍偷拍欧美日韩| 91精品国产综合久久精品麻豆| 国产福利精品一区二区三区| 国产麻豆一区二区三区| 日韩一级欧美一级| 成人欧美精品一区二区| 欧美绝顶高潮抽搐喷水合集| 精品在线观看国产| 国产综合精品在线| 欧美gay男男猛男无套| 久久成人精品一区二区三区| 九九九在线视频| 亚洲二区免费| 国产97在线播放| 亚洲一区二区激情| 国产乱对白刺激视频不卡| 成人在线观看网址| 五月婷中文字幕| 欧美国产禁国产网站cc| 黄瓜视频免费观看在线观看www| 国产黄a三级三级三级av在线看 | 男女激情无遮挡| 91精品影视| 欧美一卡二卡三卡四卡| 国产精品手机在线观看| 深爱激情综合网| 久久精品美女视频网站| 国产主播在线播放| 久久综合图片| 3d动漫精品啪啪一区二区三区免费| 亚洲黄色片视频| 久久精品夜色噜噜亚洲aⅴ| 色乱码一区二区三区熟女 | 日韩美女在线播放| 国产精品无码一区二区桃花视频| 成人性生交大片免费看中文网站| 欧美日韩精品不卡| 七七久久电影网| 欧美视频中文一区二区三区在线观看 | 欧美草逼视频| 色域天天综合网| 毛毛毛毛毛毛毛片123| 亚洲免费成人av在线| 色婷婷av一区二区三区在线观看 | 一本色道久久综合亚洲精品不卡 | 欧美大片第1页| 无码人妻aⅴ一区二区三区有奶水| 老鸭窝一区二区久久精品| 国内精品久久国产| yellow91字幕网在线| 91精品福利视频| 岛国精品一区二区三区| 日韩在线观看| 日本伊人精品一区二区三区介绍| 中文字幕有码视频| www国产成人| 久久亚洲国产成人精品无码区| 日韩经典一区| 亚洲精品自产拍| 欧美亚韩一区二区三区| 国产精品综合一区二区| 亚洲欧洲国产精品久久| 九九热线视频只有这里最精品| 欧美成人a在线| 九九热最新地址| 麻豆一区二区在线| 日本精品一区| 中文字幕在线中文字幕在线中三区| 91精品国产综合久久小美女| 在线观看日本黄色| 一区二区三区福利| 国产伦精品一区二区三区高清| 精品麻豆一区二区三区 | 最新免费av网址| 波多野结衣在线观看一区二区三区| 欧美性做爰毛片| 天堂中文网在线| 性做久久久久久| 任你躁av一区二区三区| 欧美国产精品| 91网免费观看| 午夜成年人在线免费视频| 欧美二区在线观看| 国产免费久久久久| 狠狠久久亚洲欧美| 午夜啪啪免费视频| 99国内精品久久久久| www.日韩系列| 国产农村妇女毛片精品久久| 亚洲天堂av老司机| 一级 黄 色 片一| 欧美a级片网站| 国产亚洲一区在线播放| 久草在线资源福利站| 亚洲精品suv精品一区二区| 黄网站免费在线| www.日韩在线| 不要播放器的av网站| 青青草97国产精品麻豆| 成人精品在线视频| 69成人在线| 精品国产精品网麻豆系列| 黄色激情视频在线观看| 91视频xxxx| 在线观看高清免费视频| 国产精品福利在线观看播放| 99国产超薄丝袜足j在线观看 | 国产成人精品av在线| 草碰在线视频| 日韩一区二区免费电影| 日本三级网站在线观看| 久久综合色播五月| 人人干人人干人人| 女人香蕉久久**毛片精品| 国产伦精品一区二区| 欧美大胆性生话| 日韩在线高清视频| 成人毛片在线精品国产| 色综合久久天天| 欧美一级特黄高清视频| 成人av第一页| 亚洲污视频在线观看| 欧美在线亚洲| 免费看污久久久| 国产aa精品| 欧美一级高清免费播放| 欧美日韩在线看片| 精品国产一区二区三区久久久蜜月| 毛片视频网站在线观看| 国产精品毛片a∨一区二区三区| 色婷婷综合在线观看| 亚洲欧美日韩国产一区| 日本特级黄色大片| 亚洲日产av中文字幕| 91久久久精品| 日韩不卡免费高清视频| 欧美日本黄视频| 成人欧美亚洲| 亚洲精品第一页| 国产三级午夜理伦三级| 欧美午夜激情视频| 免费在线观看黄色av| 国产香蕉久久精品综合网| 久久久久亚洲av无码麻豆| 久久久久中文| 中文精品无码中文字幕无码专区 | ww久久中文字幕| 亚洲av无码成人精品区| 久久福利视频一区二区| 久久久久久久久久久久久国产精品 | 色综合伊人色综合网站| 亚欧洲精品视频| 日韩午夜激情免费电影| 中文字幕一区二区三区四区视频| 五月婷婷久久综合| 丰满少妇被猛烈进入一区二区| 久久久国产午夜精品 | 一区二区日韩| 91精品国产自产在线观看永久| 超级碰碰久久| 国语自产精品视频在线看| 在线观看a级片| 日韩性xxxx爱| 伊人免费在线| 一本久久综合亚洲鲁鲁| 欧美少妇另类| 精品一区电影国产| 亚欧洲精品视频| 亚洲娇小xxxx欧美娇小| 黄色片一区二区三区| 日韩一区二区在线观看| 国产精品系列视频| 欧美剧情片在线观看| 一二区在线观看| 欧美日韩在线播放一区| 这里只有精品999| 一道本成人在线| 久久夜色精品国产噜噜亚洲av| 婷婷开心激情综合| 国产成人一区二区三区影院在线 | 在线中文字幕日韩| 国产系列在线观看| 国产亚洲欧美一区| 成人在线播放视频| 在线观看日韩欧美| 1区2区3区在线观看| 中文日韩电影网站| 日本中文字幕在线2020| 亚洲午夜性刺激影院| 搞黄视频在线观看| 中文字幕亚洲一区| 黄色免费在线观看网站| 精品自拍视频在线观看| 丁香影院在线| 日产精品久久久一区二区福利| 综合日韩av| 国产精品久久久久久中文字| 欧美久久久网站| 成人av免费看| 亚洲黄页网站| 一区不卡字幕| 国产精品草草| 国产在线观看福利| 欧美96一区二区免费视频| 小早川怜子一区二区三区| 高清不卡一区二区| 日本黄色网址大全| 国产精品美日韩| 日日骚一区二区三区| 偷窥少妇高潮呻吟av久久免费| 日韩免费av网站| 欧美一区二区三区爱爱| 天堂av一区二区三区| 国产亚洲精品一区二555| 成人免费看片| 欧美亚洲在线播放| 日韩亚洲国产免费| 国产精品日韩高清| 国产精品免费不| 欧洲精品视频在线| 亚洲一区二区三区四区五区午夜| wwww.国产| 成人av资源在线| 极品尤物一区二区| 亚洲在线视频网站| 波多野结衣激情视频| 日韩精品专区在线影院重磅| 激情在线视频| 欧美噜噜久久久xxx| 欧美电影免费观看| 91九色极品视频| 精品一区二区三区的国产在线观看| 美女在线免费视频| 日韩不卡在线观看日韩不卡视频| 99999精品| 欧美高清在线精品一区| 日本熟伦人妇xxxx| 欧美电影一区二区三区| 欧美大片aaa| 久久久久久久久国产| 国产精品99久久久久久董美香 | www.555国产精品免费| 久久精品一二三| 日韩三级一区二区三区| 91麻豆精品国产自产在线| 欧美成人免费| 久久久久久久国产精品| 亚洲精品66| 青青成人在线| 国产欧美一区二区三区国产幕精品| 日本一二区免费| 久久久久久亚洲综合| 日韩免费黄色片| 日韩三级精品电影久久久| 99视频在线观看地址| 欧美亚洲在线播放| 麻豆精品av| 国产一区二区三区乱码| 国产真实乱对白精彩久久| 免费黄在线观看| 色婷婷亚洲综合| 亚洲欧美综合一区二区| 欧美黄网免费在线观看| 欧美黄视频在线观看| 一区二区三区精品国产| 日韩av一二三| 亚洲av无码一区二区三区人| 欧美日韩国产中文精品字幕自在自线 | 91精品国产色综合久久ai换脸 | 4438全国亚洲精品在线观看视频| 一区二区三区自拍视频| 久久久国内精品| 国产精品一区免费在线观看| 亚洲欧美另类日本| 欧美日韩成人高清| 麻豆视频在线观看免费网站| 国产精品夜色7777狼人| 欧洲三级视频| 中文av一区二区三区| 中文字幕一区二区5566日韩| 亚洲一卡二卡在线观看| 久久精品成人一区二区三区 | 91麻豆精品国产| av网站免费在线观看| 亚洲一区二区三区xxx视频| 91精品一区国产高清在线gif| 波多野结衣国产精品| 亚洲欧美国产毛片在线| 99热这里只有精品3| 欧美日韩高清区| 国产精品久av福利在线观看| 人妻av中文系列| 久久亚洲综合av| 精品国产www| 久久久精品久久| а√中文在线天堂精品| 草草久久久无码国产专区| 久久蜜臀中文字幕| 中文字幕一区二区免费| 久久综合伊人77777蜜臀| 136福利精品导航| 欧美二区在线视频| 国产日韩v精品一区二区| 国产精品人人爽| 欧美激情精品久久久久久蜜臀 | 阿v天堂2018| www一区二区| 国产精品高潮呻吟久久久| 伦理中文字幕亚洲| 精品按摩偷拍| 99热手机在线| 亚洲老妇xxxxxx| 色av男人的天堂免费在线| 国产精品三级美女白浆呻吟| 欧美久久99| 欧美 日韩 国产 成人 在线观看| 欧美日韩精品一区视频| 人人澡人人添人人爽一区二区| 久久一区二区精品| 紧缚捆绑精品一区二区| 国产第100页| 中文字幕av一区| 成人看片爽爽爽| 在线观看高清免费视频| 亚洲一区二区在线视频| www.亚洲.com| 国产精品国色综合久久| 日韩高清不卡在线| 久久免费视频6| 色久欧美在线视频观看| 精品综合久久88少妇激情| 日韩av卡一卡二| 欧美日韩国产色视频| 黄色免费网站在线| 欧洲亚洲一区二区| 成人午夜视频免费看| 一级黄色短视频| 日本道色综合久久影院|