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

蘇寧蛙測基于Instruments檢測iOS性能技術

原創
移動開發 iOS
在蘇寧智慧零售的戰略中,移動應用占據重要位置,線上應用的用戶體驗對于產品推廣有直接影響,而作為移動兩大重要陣營之一的iOS系統,應用上架前的性能指標顯得尤為重要。

【51CTO.com原創稿件】1.背景

在蘇寧智慧零售的戰略中,移動應用占據重要位置,線上應用的用戶體驗對于產品推廣有直接影響,而作為移動兩大重要陣營之一的iOS系統,應用上架前的性能指標顯得尤為重要。在不嵌入代碼的前提下,蛙測平臺需要獲得應用運行時的內存、CPU、FPS、冷啟動時間、熱啟動時間等數據,提供給開發部門,進行上線前優化。

蘇寧現有的iOS應用性能測試數據,基本都是開發人員在Mac環境下用Xcode工具,基于被測應用源碼或者特定簽名下通過原生的Instruments工具來獲取應用冷啟動時間、熱啟動時間、內存消耗、幀率等性能指標。

對于測試人員來說,首先沒有充足的Mac電腦提供,其次,出于代碼的保密性,無法為測試人員開發代碼權限,同時技術門檻也較高,為了讓測試人員也能進行iOS應用性能測試,基于代碼外黑盒方式獲取iOS應用性能數據,使用TraceUtility工具解析數據,在前端頁面用圖表方式為測試人員提供iOS應用性能測試服務。

2.技術選型和實現原理

2.1 Instruments工具組件介紹

Instruments是Xcode的一個工具集,為我們提供了強大的程序性能分析及測試能力。它是以一個獨立的 App 的形式存在的,你可以在 Xcode -> Open Developer Tool -> Instruments 中打開它。打開后功能組件頁面如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

一、Time Profiler使用簡介:

  • TimeProfiler見名知意:時間分析工具,它會按照設定的時間間隔(默認1毫秒)來跟蹤每一線程的堆棧信息(stacktrace),并通過比較時間間隔之間的堆棧狀態,來推算出某個方法執行了多久,給出一個近似值。
  • 蘇寧蛙測基于Instruments檢測iOS性能技術

二、CPU Activity Log CPU活動日志工具簡介;

  • CPU Activity instrument工具給出了一個設備在做什么的記錄。
  • 蘇寧蛙測基于Instruments檢測iOS性能技術

三、Core Animation動畫渲染使用簡介:

  • Core Animation系要注意的一點是必須是真機調試,用于調試離屏渲染,繪圖,動畫,等操作,用于檢測FPS信息。
  • 蘇寧蛙測基于Instruments檢測iOS性能技術

四、Activity Monitor內存使用情況簡介:

1)Summary(Summary of data) :Process(進程)使用內存、CPU使用時長等摘要信息:

蘇寧蛙測基于Instruments檢測iOS性能技術

其中參數的含義如下:

  • process id ——進程id
  • process name ——進程名
  • user name——用戶名
  • %CPU——cpu占比
  • threads——線程
  • real mem——真正使用的內存
  • virtual mem——虛擬內存
  • architecture——架構
  • cpu time——CPU時間
  • sudden term——突然項(N/A:不適用)

2)Samples(a list of samples) ----一系列抽樣(即不同時間,CPU使用時間、內存使用情況的樣本值)

蘇寧蛙測基于Instruments檢測iOS性能技術

參數的含義如下:

  • Physical Memory Wired——操作系統占用的內存
  • Physical Memory Active——除操作系統外其他進程占用的內存
  • Physical Memory Inactive——最近被釋放的內存
  • Physical Memory Used——profiling當前進程時使用的總內存
  • Physical Memory Free——當前的可用內存
  • Total VM Size——虛擬內存的占用量

五、Energy Usage Level 簡介

查看應用的耗電量等級。電量使用level為0-20,1/20:表示運行該App,電池生命會有20個小時;20/20:表示運行該App,電池電量僅有1小時的生命。

蘇寧蛙測基于Instruments檢測iOS性能技術

2.2 instruments命令行調用方法

instruments命令

  1. usage: instruments [-t template] [-D document] [-l timeLimit] [-i #] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]] 
  • -t是指定模板;
  • -D 指定生成的.trace文件;
  • -l 指定運行時間,此處單位為ms;
  • -w 指定設備id(把設備通過usb連接電腦后,設備id可通過system_profiler SPUSBDataType查看);

application 即待測試的App名;

如下示例:

 

  1. 在fcbba9b83bf99c97e5d4d56d99a264d083d5e2cd設備上啟動”Time Profiler”模板運行com.suning.XX錄制30000ms的Profiler.trace文件,輸出路徑為/Users/monky/Work  
  2. instruments -l 30000 -w fcbba9b83bf99c97e5d4d56d99a264d083d5e2cd -v -t “Time Profiler“ -D /Users/monky/Work/time Profiler.trace com.suning.XX 

自定義多模板.tracetemplate文件

有時候需要同時監控好幾個模板,這個時候可以導出一個自己需要的.tracetemplate文件。

  • a.首先打開instruments,在主界面選擇需要測試的模板,如下圖,通過右上角的+添加。
  • 蘇寧蛙測基于Instruments檢測iOS性能技術

  • b.選擇完所有需要的模板后,點擊Instruments -> file -> Save As Template 保存,記錄好保存的位置。
  • c.然后就可以用自己的模板進行測試

如下實例:

  1. Instruments -w fcbba9b83bf99c97e5d4d56d99a264d083d5e2cd -v -t "CustomTemplate" -D templateData.trace com.suning.XX 

2.3 instruments數據解析功能實現

我們生成一個自定義的數據模板MyTemplate.tracetemplate,根據instruments工具生成的trace文件,使用TraceUtility對文件進行解析,獲取存儲的信息。

Trace 文檔的基本結構

文檔結構的邏輯能從 Instruments 的交互邏輯看出來,一份文檔有一個目標設備,一個監測的進程和一組 profiling 模版,然后可以使用同一組模版進行多次 profile。而對應到 Instruments 的代碼中,一份文檔就是一個 XR Trace 對象,除了一些元數據,它還包含一個 XR Instrument 對象的數組,其中每一個,又包含了一個 XR Run 的數組。

所以接下去要做的事情就是,找到從不同模版的 XR Instrument 中讀取 XR Run 對象中的數據的方法,然后依次遍歷即可。

XR Instrument對象

數據讀取和保存的代碼主要在 InstrumentsAnalysisCore.framework 這個框架里,存儲格式也用了 SQLite,把各種讀取寫入查詢都抽象了出來,比如用戶在 Instruments 里用鼠標選了一段時間來看這段時間的數據,這樣的過濾操作就不需要在每個模版里單獨實現了。同時,因為數據的結構種類也比較有限,比如調用棧樹,樣本列表。

蘇寧蛙測基于Instruments檢測iOS性能技術

XRContext

蘇寧蛙測基于Instruments檢測iOS性能技術

在 Instruments 里,XRContext 就體現在模版列表下面的這個導航條。它是樹結構的,每次選中顯示一個 context,那從根結點到這個 context 就是一條 context path。XRContextContainer(通常是 view controller)保存著 context 的引用,叫做它的 contextRepresentation,而 XRContext 也引用一個真正展示它數據的 XRContextContainer(通常是 view),叫做它的 container。

不同的模版當然會有不同的 contexts,但是有時候一個模版也會包含多個不同的 contexts,所以在用戶選擇不同的模版查看數據,或者從那個導航條里切換當前模版的不同的數據視圖的時候,當前的 context 就會變化,新的 context 的 -[XRContext display] 方法被調用,然后這個 context 會通過 -[XRContextContainer displayContext:] 傳給相對應的 XRContextContainer,然后這個 container(通常是 view controller)就可以加載數據,刷新視圖了。

也就是說文檔中的大部分數據只有在真正需要顯示的時候才會被讀取,從 Instruments 用戶的角度來看很容易理解,不過對于 TraceUtility 的用戶來說,就是需要知道,如果自己讀取的數據都是 nil,或者空數組之類的,就可以看看是不是忘記調用這個 -[XRContext display]方法了。

蘇寧蛙測基于Instruments檢測iOS性能技術

每一種XRContextContainer對象存儲的結構層次各有不同,以下給出三種結構解析方法。

TimeProfiler模板解析實例:

蘇寧蛙測基于Instruments檢測iOS性能技術

CPU Activity Log模板解析實例:

蘇寧蛙測基于Instruments檢測iOS性能技術

Connections 模板數據解析實例:

蘇寧蛙測基于Instruments檢測iOS性能技術

Search Paths

雖然說要調用 Instruments 的代碼只需要鏈接上它的 framework 就可以了,不過這里還有幾個值得一提的地方。

首先是編譯器搜索我們要鏈接的 framework 的目錄。參考 Xcode 項目配置的 FRAMEWORK_SEARCH_PATHS 變量。

 

  1. /Applications/Xcode.app/Contents/SharedFrameworks  
  2. /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Frameworks 

如果這個沒有設置對的話,鏈接的時候會報錯,沒法生成可執行程序。

然后是編譯好的程序在啟動過程中搜索這些動態鏈接的 framework 的目錄。參考 Xcode 項目配置的 LD_RUNPATH_SEARCH_PATHS 變量。

 

  1. /Applications/Xcode.app/Contents/SharedFrameworks  
  2. /Applications/Xcode.app/Contents/OtherFrameworks  
  3. /Applications/Xcode.app/Contents/Developer/Library/Frameworks  
  4. /Applications/Xcode.app/Contents/Developer/Library/PrivateFrameworks  
  5. /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Frameworks 

如果這個沒有設置對的話,程序還是可以編譯,但是程序運行的時候會報錯。另外,這里不僅包含上一個配置里的目錄,還多了別的,是因為我們鏈接的 framework 還依賴了別的 framework,這些 framework 也需要在運行的時候由 dyld 一起加載。

最后是 Instruments 自己搜索 Packages 的目錄,這些目錄都在 Instruments.app 的安裝目錄下,而函數 NSString *PFTInstrumentsAppContents() 就是用來獲取這個安裝目錄的。它通過調用 +[NSBundle mainBundle] 來確定當前進程是 Instruments 的主 App 還是附加的命令行工具,然后返回正確的結果。

然而在我們的進程中,+[NSBundle mainBundle] 返回的結果并不能被這個函數正確識別和處理,所以我們需要 hook 這個方法來返回 Instruments.app 所對應的 bundle,從而使得 Instruments 能夠正確找到需要加載的包。

2.3解析后數據

Time Profiler解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

CPU Activity Log解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

Core Animation解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

Activity Monitor內存使用情況解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

Energy Usage Level解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

Connections解析出數據如下圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

3.應用效果

蘇寧蛙測平臺將instruments檢測iOS性能技術應用在iOS穩定性測試中,將用戶提測的任務結果收集分析后制作成圖表展示,方便測試人員直接高效的獲得目標測試App在不同系統版本、機型上的性能表現,提高相關人員的產出效率。如下圖測試報告節選截圖:

蘇寧蛙測基于Instruments檢測iOS性能技術

蘇寧蛙測基于Instruments檢測iOS性能技術

蘇寧蛙測基于Instruments檢測iOS性能技術

4.總結

考慮到文章篇幅,本文僅介紹了蘇寧蛙測平臺在移動端性能檢測的冰山一角,有關于移動穩定性測試其他技術點將會在后續文章中進行分享。蛙測平臺會在大促期間力保每一個上線應用安全、穩定、健壯,站好第一班崗,為蘇寧軟件質量保駕護航。同時我們也會不斷成長,提升技術面,將“測試,原來可以如此簡單!”作為自己前進的目標,為蘇寧智慧零售戰略提供堅實保障。

作者:

錢夢奇,蘇寧易購IT總部數據云公司移動SDK工程師,主要從事測試工具與平臺的研發工作。專注于移動App開發、測試流程和測試工具開發,對移動端自動化測試、穩定性測試、性能測試、App開發技術和新理念實踐,積累了比較豐富的經驗。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2018-05-09 14:45:50

蘇寧前端Nodejs

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務

2016-11-10 19:31:00

蘇寧雙11

2017-08-21 09:03:43

2018-11-12 12:45:19

2013-10-31 09:49:07

2019-01-08 09:34:05

蘇寧金融紅包流量

2018-11-14 10:48:52

蘇寧管理系統服務性能

2011-12-12 15:47:20

網宿科技蘇寧易購

2018-11-06 09:30:38

數據倉庫架構蘇寧

2020-02-27 08:00:41

混沌工程系統失控條件

2017-09-01 13:19:35

蘇寧無人店Biu

2013-10-29 10:41:06

SAP

2018-06-25 08:00:18

Spring Clou架構數據中臺

2018-05-25 22:56:14

AI技術短視頻蘇寧易購

2020-06-19 07:00:00

蘇寧數字孿生平臺

2019-12-24 09:30:59

蘇寧高可用高并發

2014-02-19 10:40:07

虛擬運營商

2014-02-19 10:36:47

虛擬運營商蘇寧

2017-11-16 09:22:00

物流電商快遞
點贊
收藏

51CTO技術棧公眾號

欧美日韩国产在线观看网站 | 青青草视频播放| 久久免费电影| 97久久精品人人做人人爽50路| 国产成人在线精品| 69xx绿帽三人行| 亚洲精品国模| 欧美一区二区三区喷汁尤物| 亚洲不卡中文字幕无码| 91最新在线| 成人天堂资源www在线| 3344国产精品免费看| 人与动物性xxxx| 欧美91在线| 欧美精品国产精品| 无码人妻h动漫| av在线免费网站| 国产欧美日本一区视频| 成人三级视频在线观看一区二区| 狠狠人妻久久久久久综合| 98精品久久久久久久| 亚洲护士老师的毛茸茸最新章节| 亚洲综合欧美在线| 免费毛片b在线观看| 国产精品久久精品日日| 久久国产精品精品国产色婷婷| 这里只有精品9| 香蕉亚洲视频| 欧美精品18videosex性欧美| 99在线视频免费| 久久国产精品色av免费看| 欧美日本一区二区三区四区| 亚洲国产精品久久久久婷蜜芽| 成a人片在线观看| 欧美国产日韩亚洲一区| 好吊色欧美一区二区三区视频| 国产精品久久久久久久久久久久久久久久| 国产精品亚洲产品| 欧美丰满老妇厨房牲生活| 波多野结衣久久久久| 成人精品亚洲| 亚洲无线码在线一区观看| 亚洲自拍偷拍精品| www.神马久久| 日韩一区二区免费在线观看| 小明看看成人免费视频| 成人国产一区| 欧美无砖专区一中文字| 精品国产成人av在线免| 在线观看网站免费入口在线观看国内| 一区二区三区av电影| 黄黄视频在线观看| 国产一区久久精品| 亚洲女厕所小便bbb| www亚洲国产| 精品视频在线一区二区| 国产精品理论片| 一区二区三区四区五区精品| 91在线导航| 国产精品久久毛片| 一本—道久久a久久精品蜜桃| 欧美成年黄网站色视频| 亚洲欧美自拍偷拍色图| 麻豆md0077饥渴少妇| 好吊日视频在线观看| 18成人在线观看| 国内精品国产三级国产99| 亚洲电影视频在线| 亚洲国产sm捆绑调教视频 | 久久av在线| 日韩av免费在线| 亚洲精品久久久久久久蜜桃| 日韩av电影天堂| 国产精品美女免费| 亚洲综合精品在线| 国产经典欧美精品| 久久99国产精品99久久| 成人高清在线| 日韩久久一区二区| 日韩国产成人无码av毛片| 国产理论在线| 欧美怡红院视频| 成人高清在线观看视频| 久久97精品| 国产一区二区av| 久久99久久99精品免费看小说| 欧美一区影院| 欧美一级免费视频| 中文字幕网址在线| 国产91在线|亚洲| 久久精精品视频| 日本在线视频观看| 亚洲图片欧美色图| 午夜激情福利在线| 视频二区欧美毛片免费观看| 亚洲精品国产福利| 中文字幕黄色网址| 韩国一区二区三区在线观看| 国产97在线播放| 国产人妖一区二区| 99久久99久久精品国产片果冻| 丝袜足脚交91精品| 日本h片在线| 欧美性色黄大片| 亚洲精品成人无码毛片| 精品盗摄女厕tp美女嘘嘘| 欧美成人在线免费| 中文字幕一区二区三区四区欧美| 精品一区二区三区久久| 久久精品日韩精品| 国产黄色在线网站| 一本色道亚洲精品aⅴ| 亚洲成人av免费观看| 精品国产99| 久久久久日韩精品久久久男男| 免费在线不卡av| 不卡视频在线看| 熟妇熟女乱妇乱女网站| 小早川怜子影音先锋在线观看| 欧美日韩精品欧美日韩精品一综合| 久久久久久婷婷| 欧美韩日一区| 国产精品国产三级国产aⅴ浪潮| 欧洲精品久久一区二区| 欧美日韩在线二区| 欧美激情三级免费| 一区二区三区精彩视频| 国产夜色精品一区二区av| www.成年人视频| а天堂中文最新一区二区三区| 亚洲女同精品视频| 日本熟妇色xxxxx日本免费看| 九九**精品视频免费播放| 欧美一区二区综合| 黄色在线免费观看网站| 欧美成人性战久久| 26uuu成人网| 九九久久精品视频| 亚洲精品中文综合第一页| 亚洲国产成人二区| 日韩成人av在线| 国产成人精品亚洲男人的天堂| 国产一区二区剧情av在线| 一区二区视频国产| 四虎国产精品免费久久| 色爱av美腿丝袜综合粉嫩av | 亚洲一区二区伦理| 国产伦精品一区二区三| 精精国产xxxx视频在线中文版| 欧美一区二区三区在线视频| 蜜臀av午夜精品久久| 美女脱光内衣内裤视频久久网站 | www国产在线观看| 欧美日韩精品一区视频| 性色国产成人久久久精品| 日本最新不卡在线| 亚洲精品欧美精品| 色诱色偷偷久久综合| 日韩中文字幕视频在线观看| 一级久久久久久久| 一区在线中文字幕| 男人操女人下面视频| 欧美午夜不卡| 精品午夜一区二区三区| 中文在线最新版地址| 亚洲男人av在线| 奴色虐av一区二区三区| 国产精品视频一区二区三区不卡| 国产九九热视频| 亚洲美女视频| 国产一区二区在线网站| 啊啊啊久久久| 夜夜嗨av色综合久久久综合网 | 91精品欧美久久久久久动漫| 日韩欧美中文字幕视频| 懂色中文一区二区在线播放| 久久久久久人妻一区二区三区| 久久香蕉网站| 国产精品久久国产精品99gif| 日本三级在线视频| 日韩欧美亚洲国产另类| 91美女免费看| 国产精品伦一区二区三级视频| 日本55丰满熟妇厨房伦| 99热免费精品| 亚洲三级一区| 国产精品乱战久久久| 日韩美女在线观看| 国产黄色在线网站| 亚洲精品视频播放| 国产剧情久久久| 姬川优奈aav一区二区| 人妻熟人中文字幕一区二区| 国产福利视频一区二区三区| 精品欧美一区免费观看α√| 色无极亚洲影院| 国产精品乱码| 精品176极品一区| 欧美激情一区二区三区在线视频观看 | 国产亚洲自拍偷拍| 91福利精品在线观看| 欧美激情日韩图片| 日本a在线播放| 亚洲黄色av女优在线观看 | 免费观看欧美大片| 久久精品国产精品亚洲| 午夜成人鲁丝片午夜精品| 欧美视频在线一区| 97免费在线观看视频| 亚洲色图制服诱惑| 精品无码人妻一区二区免费蜜桃| 国产成人高清视频| 我要看一级黄色大片| 在线天堂资源| 中文字幕在线看视频国产欧美在线看完整 | 免费看黄色的视频| 国产成人av影院| 国产wwwxx| 国产精品久久久久毛片大屁完整版| 宅男一区二区三区| 国产欧美日韩| 精品国产_亚洲人成在线| 99久久99九九99九九九| 国产精品成人播放| h片在线观看视频免费| 超碰日本道色综合久久综合| h网站视频在线观看| 日韩hd视频在线观看| 风流少妇一区二区三区91| 欧美日韩国产综合久久| 国产精品传媒在线观看| 婷婷综合另类小说色区| 亚洲国产美女视频| 国产精品久久久久久户外露出 | 免费网站在线观看黄| 日韩av网站免费在线| 黄色一级大片在线观看| 99成人免费视频| 久无码久无码av无码| 午夜精品电影| 久久久久久久免费视频| 99国产**精品****| 亚洲在线播放电影| 久久影院一区| 亚洲三级一区| 久久久久久久久99精品大| 亚洲国产午夜伦理片大全在线观看网站 | 亚洲精品www| 隣の若妻さん波多野结衣| 欧美大片免费久久精品三p| 国产美女免费视频| 日韩三级视频在线看| 国产精品老熟女视频一区二区| 欧美日韩免费不卡视频一区二区三区| 国产免费www| 欧美日韩在线播放一区| 中文字幕一级片| 欧美日韩日日摸| 国产欧美日韩综合精品一区二区三区| 4438x成人网最大色成网站| 国产伦精品一区二区三区四区| 51精品秘密在线观看| 性欧美videos另类hd| 欧美xingq一区二区| 人妻少妇精品无码专区久久| 亚洲精品久久久久| 欧美777四色影视在线| 国产亚洲一区精品| 欧美尤物美女在线| 欧美俄罗斯乱妇| 手机av在线| 青青精品视频播放| 狠狠久久伊人中文字幕| 91九色蝌蚪嫩草| 狠狠一区二区三区| 日本不卡一二三区| 四季av在线一区二区三区| 一级黄色片播放| 99国产精品久久久久久久 | 久久久一二三区| 懂色av一区二区三区| 国产情侣免费视频| 日韩欧美国产一区在线观看| 天天综合网天天综合| 亚洲系列中文字幕| www视频在线看| 欧洲精品毛片网站| 亚洲男人在线| 精品婷婷色一区二区三区蜜桃| 精品高清久久| 久久久久久久9| 日韩电影一区二区三区四区| 久久精品无码一区二区三区毛片| 99久久婷婷国产综合精品电影| 国产一级久久久久毛片精品| 亚洲精品大片www| 丰满人妻老熟妇伦人精品| 91精品久久久久久久91蜜桃 | 国产一区二区三区在线免费观看| 黄色网在线播放| 欧美一级免费视频| 激情五月综合婷婷| 欧美视频小说| 欧美激情 亚洲a∨综合| 欧美日韩怡红院| 波多野结衣中文字幕一区二区三区| 国产综合精品久久久久成人av| 亚洲精品国产无套在线观| 青青视频在线免费观看| 日韩亚洲欧美在线| 成人福利在线| 久久免费国产视频| 24小时成人在线视频| 欧美精品一区二区三区四区五区| 欧美成人综合| 我要看一级黄色大片| 97se亚洲国产综合自在线不卡| 国产大屁股喷水视频在线观看| 午夜欧美一区二区三区在线播放| 亚洲天堂男人网| 精品视频中文字幕| 免费看电影在线| 成人免费激情视频| 精品久久综合| 国产日韩一区二区在线| 不卡的av电影| 一区二区三区免费高清视频| 欧美日韩aaa| 尤物在线视频| 国产成人av网| 小嫩嫩12欧美| 男女av免费观看| www.欧美.com| 黄色小视频在线免费看| 欧美一区二区三区视频免费| h网站在线免费观看| 国产精品第一区| 九九亚洲视频| 日韩毛片在线免费看| www欧美成人18+| 久草手机在线观看| 亚洲精品一区二区在线| а√天堂中文在线资源8| 国产亚洲欧美一区二区三区| 在线免费观看欧美| 最新版天堂资源在线| 亚洲一区av在线| 丰满肉嫩西川结衣av| 欧美高清在线观看| aiai久久| 欧美在线观看www| 久久免费看少妇高潮| 亚洲高清毛片一区二区| 日韩大陆毛片av| 无遮挡爽大片在线观看视频| 久久精品国产精品国产精品污| 国产毛片一区| 波多野在线播放| 欧美在线制服丝袜| 888av在线| 91精品综合视频| 欧美黄色精品| 免费日本黄色网址| 精品久久久久久亚洲精品| 日韩资源在线| 国产精品久久久久久久久久久久| 色135综合网| 中文字幕在线视频一区二区| 亚洲成人手机在线| 男女视频在线观看免费| 国产精品免费观看在线| 99精品一区| 亚洲成av人片在线观看无| 在线视频你懂得一区二区三区| 成人午夜在线观看视频| 亚洲a一级视频| 在线日韩视频| 中文字幕欧美激情极品| 日韩精品在线一区| 成人影院入口| 国产四区在线观看| 成人免费精品视频| 波多野结衣视频在线观看| 久久精品视频一| 久久综合社区| 一区二区成人网| 亚洲国产日产av| 91精品专区| 国产精品成人一区二区三区 | 国产精品99导航| 女主播福利一区| 国产精品成人一区二区三区电影毛片| 欧美精品v国产精品v日韩精品| 91www在线| 一区二区不卡在线观看| gogogo免费视频观看亚洲一| 伊人亚洲综合网| 57pao成人永久免费视频| 天天精品视频| 在线观看福利片|