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

基于Rust的Android Native內存分析方案

移動開發 Android
高德地圖車機版運行的車載系統環境絕大部分都是基于安卓的定制系統,且高德車機版底層代碼均為C/C++ Native代碼。因此,在安卓上需要有一種通用的Native內存性能分析方案。

背景:高德地圖車機版運行的車載系統環境絕大部分都是基于安卓的定制系統,且高德車機版底層代碼均為C/C++ Native代碼。因此,在安卓上需要有一種通用的Native內存性能分析方案。內存塔(MemTower)是一個基于開源項目memory-profiler并移植安卓且優化改進后的方案,解決了之前方案存在的痛點問題,滿足了通用Native內存性能分析需求。該項目采用Rust語言編寫,并利用了Rust的一些特性來完成對Native內存訪問的Hook.

1. Android Native內存分析痛點與訴求

這一節主要介紹我們為什么要做這件事以及對于這件事我們期望達到什么樣的目標。

1.1 現有工具缺陷

Android在Java層面有很完善的性能分析工具,但是在Native層面沒有完整的解決方案。主要表現在:

  • 不支持Android 4.x,線上統計數據顯示4.x版本的車機仍占有較大比重,因此這點成為了無法忽視的問題。
  • 安卓自帶的malloc_debug功能在不同的版本上行為不同,而且車機安卓系統大多經過了系統廠商的定制,不能保證這些功能可用。

因此, 無法基于Android系統自有的功能做到Native內存性能分析。

我們團隊之前也在這方面做出了一些成果,但還是存在下面幾個問題:

  • 通過修改編譯參數對Native代碼函數入口/結束位置插樁來進行Hook,導致了性能嚴重下降;
  • 由于是侵入式分析,對內存問題分析需要單獨編譯出包分析,解決效率大幅降低,一個內存泄漏問題的排查成本按天計算。
  • 缺少精準內存使用數據。

1.2 打造一套完整的Native內存性能分析方案

結合上門的問題痛點,我們希望能夠有一套完整的Native內存性能分析方案。具體訴求表現在下面幾點:

  • 支持安卓4.x在內的絕大多數安卓系統。
  • 無侵入式分析,內存問題的發現與精準定位同時完成。
  • 性能優異,overhead低。
  • 支持長時間內存泄漏壓測。包括車廠客戶在內的研發團隊都會對導航進行壓測,需要能夠支持長時間的壓測并定位內存泄漏問題。
  • 函數級內存使用數據。原先的方案重點在于解決內存泄漏的問題,獲取的內存使用數據不夠精確。而我們希望新的方案能夠獲得詳細的內存使用數據,用來支持內存性能優化。

2. 內存塔(MemTower)方案

本節主要介紹memory-profiler項目的實現和內存塔(MemTower)方案在移植該項目至Android平臺上的過程和對原方案的改進。闡述我們是如何實現并滿足上述的訴求。

2.1 選擇Rust & Memory-profiler

針對上門的訴求,期望能夠找到一種新的解決方案。當時正好在研究Rust,因此在GitHub上結合關鍵字搜索便發現了memory-profiler(以下簡稱mp)項目,作者koute是前Nokia工程師。接著才有了后面的內存塔。本節主要闡述mp如何結合Rust實現內存Profile的相關原理和功能。

2.1.1 Hook實現

通常對Native內存性能分析使用的方案是Hook malloc 和 free 等內存調用請求。mp的原理也是如此,利用LD_PRELOAD 預加載自定義庫實現對內存操作函數的Hook。這種方案最大的問題是容易引發循環malloc調用。如下圖,Hook了程序內存請求后,Hook業務自身的內存請求也會觸發內存請求,從而造成了malloc循環調用,引發棧崩潰。

mp的做法利用了Rust的可自定義內存分配器(Allocator)的特性,將曾經的Rust默認內存分配器jemalloc作為自定義分配器,并在jemalloc-sys的c代碼中將最終的內存申請mmap替換成自定義的函數入口(從而也區分應用和自身的mmap調用),最終調用mmap系統調用。

將Rust內存請求轉發給系統調用后,還需要將應用的內存請求繼續傳遞給系統libc. mp的做法是通過Rust的feature開關,可以自行選擇兩種方式處理應用內存請求,這兩種方式都是通過在Rust中指定link_name 屬性實現:

  • 直接通過__libc_malloc的link_name將應用內存請求轉發給libc
  • 通過指定成jemallocator的函數入口 _rjem_malloc,使應用和Rust共用jemalloc.
  • 最終可以使Hook業務使用完整的Rust語言功能而不用擔心Rust自身代碼引起的循環調用崩潰。

2.1.2 高性能堆棧反解

除了利用Rust系統編程語言特性避開內存循環調用之外,作者還利用Rust的高性能特點實現了幾種高性能堆棧反解。

利用ELF的.eh_frame 節(C++異常處理機制)提供的棧回溯信息。

基于.ARM.exidx + .ARM.extab的棧回溯,這個是ARM提供的unwind table.

具體實現可以看作者的這個Crate not-perf。這里選擇第二種做說明,如圖下,對每個線程的堆棧都用線程局部存儲維護了一套棧幀緩存,這個緩存來自于ELF文件中的unwind table信息,當堆棧的幀在緩存未命中時會把對應二進制的unwind表被加載到內存,而命中的時候,就不需要去讀取文件。通常二進制被加載后它的地址空間就不會發生變化,所以緩存的效率很高。缺點是每個線程都有一套完整的緩存。從系統層面看占用的內存overhead很大。

2.1.3 強大的數據分析功能

從mp的頁面可以看到它除了內存Profile外,還有一個對應的數據分析Server端,采用actix-web框架,且具備一個非常強大的分析功能。主要特性有下面幾點:

  • 內存使用量和泄漏兩種視角的時序曲線非常直觀。
  • 搭配了一個非常強大的過濾器,可以實現針對內存生命周期、函數、時間等多維度做過濾查詢及其對應的內存火焰圖功能。
  • 所有功能具備RESTful API接口,可以非常容易的實現定制。

詳細的使用說明這里不做過多的介紹。

 

 


 

2.2 移植

了解完mp的基本原理后,本節我們主要闡述在移植安卓平臺過程中遇到的各種問題(坑)。

2.2.1 自定義Allocator

mp的Hook方案在Android平臺上存在較多問題,主要體現在下面幾點:

  • Jemalloc本身也才是Android 5.0開始引入安卓,mp自帶的jemalloc-sys會導致一個應用里存在兩個jemalloc,最終表現為在不同的版本上有著各種各樣的異常崩潰,問題排查成了阻礙。
  • __libc_malloc是glibc提供的malloc函數入口別名,但在Android平臺沒有對應這類實現。

因此,我們采用最原始的dlsym 方法獲取內存相關函數入口,再將其封裝成Rust Allocator. 應用的內存請求也使用這些函數地址。如下圖,最終所有內存請求都傳給libc,這樣Rust的業務代碼對libc來說是透明的。

2.2.2 棧回溯

棧回溯這塊同樣有一些移植修改。上面說到作者提供了基于C++異常處理機制的棧回溯方法,但是這個方案要求依賴C++庫。而C在Android 8.0之后才會成為默認依賴。這要求在8.0之前的版本運行時應用必須也依賴C++庫。因此我們移除了這個棧回溯方案,舍去了這個依賴。

2.2.3 地址空間重載

在程序啟動或調用dlopen/dlclose時鏈接器會加載(或卸載)ELF文件,相應的,程序的地址空間會發生變化,這時候棧回溯緩存里的地址空間就可能會失效,需要重新加載(reload),reload操作掃描整個地址空間的變更,這個成本很高。與此同時還需要一種低成本獲取地址空間變化的方式. mp的實現主要有兩種方式:

libc提供的接口dl_iterate_phdr. Android API_LEVEL低于21(即5.0之前)沒有,5.0之后這個函數的結構體和在高版本Android的實現不同。所以Rust定義的單一C結構體格式會導致讀取到臟數據作為reload依據,導致非常高頻繁地reload.;

Perf的 PERF_RECORD_MMAP2 事件,這個要求內核版本大于3.16。因此這在Android 4.x上也不具備。

實際運行過程中程序在加載完所有依賴ELF后,地址空間幾乎很少再變。因此,我們修改為只有在新的ELF被加載時才進行地址空間重載。火焰圖結果顯示可以大幅降低Hook時的計算成本。

2.3 改進

到目前為止, 內存塔已經可以在支持 LD_PRELOAD 的Android版本上正確運行了(含4.x)。但是上面訴求中還有一點無法滿足:長時間內存泄漏壓測。而且在數據分析過程中,我們希望有更多維度的信息。因此,本小節主要介紹我們對內存塔的改進。

2.3.1 內存泄漏壓測

mp原先的定位正如它的名稱表述,是一款內存性能分析工具,它記錄的是全量內存信息。這點決定了它的數據量規模。在長時間壓測一小時的多個業務場景中,根據內存使用量不同,生成的采樣數據文件有1GB~7GB之多。這樣的數據量無法滿足業務的需要。

因此,我們增加了內存泄漏檢測模式(ONLY_LEAKED),這個模式的原理如下:

  • 將記錄到內存開辟的每一層棧幀記錄到一個字典樹(Trie Tree)中,同時記錄開辟的內存大小。
  • 內存釋放時更新字典樹對應的節點信息。當前泄漏是否達到某個閾值(如100MB), 是則停止采樣。
  • 在結束采樣時把整個字典樹存儲的未釋放內存記錄寫入文件。

這種模式的優點是最終的數據量非常的小,實際壓測一小時數據文件大小在100~200MB之間。再進過mp自帶的postprocess 子命令壓縮后,大小不足100MB。不足之處是內存塔需要在內存中緩存一個全量的堆棧歷史數據,當沒有新的棧幀記錄出現后這個內存增長才會趨于穩定。

2.3.2 增強分析過濾器

導航的業務模塊劃分和線程很多,因此增加了按線程和庫正則篩選過濾器選項。

2.3.3 內存火焰圖完善

mp原方案的內存火焰圖是以內存大小(allocated)作為火焰圖維度,在分析內存性能時內存開辟次數(allocations)也是一個很重要的指標,因此加入內存開辟次數火焰圖。這是當初最早改進的功能,而且火焰圖的形狀類似塔狀,就把該項目重命名為:內存塔(MemTower)。

最后一點是原方案的火焰圖信息沒有以線程為單位劃分,我們把堆棧信息按線程區分后會更加直觀。

分配次數火焰圖

分配大小火焰圖

3. 內存塔的能力及更多可能

最后一節介紹下內存塔提供了什么樣的能力、收益以及還有哪些可能。

3.1 能力

內存塔(MemTower)在Android 8.0以下依賴setprop wrap.com.xxx.xxx 和 root權限的能力,8.0以上版本如果沒有root權限還可以通過配置Android項目wrap.sh來加載內存塔庫。另外,由于mp原生支持Linux的原因,我們也成功適配了奔馳戴姆勒這類嵌入式Linux項目車機。

  • 支持平臺:Android 4.x、5.1.1和7或更高以上版本(5.0和6系統存在Bug, 無法設置setprop ). Linux x86_64, AArch64, Arm.
  • 采樣方式: 非侵入式. 非Root設備可選侵入式方式。
  • 采樣模式: 常規性能分析模式和內存泄漏壓測模式。
  • 特點: 高性能堆棧反解、完善的內存分析Insight體驗(多維度過濾器分析、內存火焰圖等)。

原先發現內存泄漏問題重新出包二次壓測分析,再推斷可能泄漏點的流程耗費時間按天計算。利用內存塔(MemTower)做一遍測試后幾分鐘即可解析出精細化數據,大幅降低了內存性能問題分析成本。mp提供的這套Hook思路和高性能堆棧反解其實可以不僅僅局限在內存方面的分析,還可以針對IO性能分析或其它問題上。

責任編輯:未麗燕 來源: 高德技術
相關推薦

2024-07-03 11:28:15

2024-07-08 10:56:34

Rust進程內存

2013-08-02 10:06:36

Android內存溢出

2012-08-13 10:14:36

IBMdW

2020-06-17 16:38:22

Rust業務架構

2020-10-26 10:58:39

Volatility的

2020-09-24 10:57:52

Frida 和 QB

2013-07-23 06:56:12

Android內存機制APP內存使用情況Android開發學習

2022-09-16 07:40:17

CloudWeGo開源Rust

2021-11-08 12:44:48

AndroidC++內存

2025-02-05 08:43:40

2022-12-05 09:55:01

漏洞AndroidRust

2023-11-28 08:29:31

Rust內存布局

2016-11-23 16:48:20

react-nativandroidjavascript

2024-01-15 11:56:55

lintersESLint

2022-07-20 10:33:50

RustGo內存管理

2012-04-16 17:20:31

IBM收購智慧商務

2013-07-23 06:47:55

Android內存機制Android堆和棧Android開發學習

2011-11-23 13:39:32

VPNVPN管理VPN管理方案

2016-12-05 16:33:30

點贊
收藏

51CTO技術棧公眾號

视频一区视频二区国产精品| 最近日韩中文字幕| 日本欧美精品在线| 国产又粗又猛又爽又黄的视频四季| 欧美三区四区| 一区二区三区中文字幕在线观看| 国产乱子伦精品| 波多野结衣一区二区三区四区| 欧美成人精品一区二区三区在线看| 日韩欧美国产成人一区二区| 少妇性饥渴无码a区免费| 97视频精彩视频在线观看| 国产精品一品二品| 日韩美女视频中文字幕| 成年人一级黄色片| 免费欧美激情| 日韩视频免费观看高清完整版在线观看| 欧美一区三区二区在线观看| 国产精品呻吟久久| 国产日韩欧美三级| 欧美精品免费在线| 丁香激情五月少妇| 国产精品网址| 91精品国产丝袜白色高跟鞋| 免费午夜视频在线观看| 色婷婷在线播放| 国产精品久久三| 蜜桃日韩视频| 蜜桃视频久久一区免费观看入口| 美女在线观看视频一区二区| 91精品国产免费久久久久久| 免费在线黄色网| 欧美午夜精彩| 亚洲美女av在线| 蜜臀aⅴ国产精品久久久国产老师| 国产a亚洲精品| 91福利资源站| 女性隐私黄www网站视频| 金瓶狂野欧美性猛交xxxx | 日韩欧美在线视频日韩欧美在线视频| 黄色一级视频播放| 亚洲免费视频一区二区三区| 久久久www成人免费无遮挡大片| 国产一区福利视频| xxxwww在线观看| 国产综合色视频| 国产精品一区二区电影| 亚洲欧美日韩一区二区三区四区| 免费一级欧美片在线播放| 欧美激情欧美狂野欧美精品| 国产1区2区3区4区| 午夜久久免费观看| 日韩在线欧美在线国产在线| 日本污视频网站| 日本欧美肥老太交大片| 在线精品高清中文字幕| 波多野结衣av在线观看| 国产va免费精品观看精品视频| 亚洲欧美日韩成人| 欧美狂猛xxxxx乱大交3| 蜜桃成人av| 亚洲视频免费一区| 天天舔天天操天天干| 成人免费在线播放| 最好看的2019年中文视频| 波多野结衣欲乱| 亚洲精品电影| 欧美日韩xxxxx| 国产大片aaa| 性欧美videos另类喷潮| 国产91在线播放| 国产精品传媒在线观看| 激情文学综合丁香| 91免费版黄色| 五月婷在线视频| 久久久www免费人成精品| 亚洲激情电影在线| av小次郎在线| 欧美日韩激情网| 国产xxxxx视频| 日本亚洲欧洲无免费码在线| 日韩欧美国产高清| 国产网站无遮挡| 日韩在线视频精品| 插插插亚洲综合网| 欧美一二三区视频| 轻轻草成人在线| 51成人做爰www免费看网站| 黄色www视频| 国产亚洲欧洲997久久综合| 亚洲一区在线免费| 成人高潮aa毛片免费| 欧美日韩亚洲网| 在线看免费毛片| 99久久香蕉| 国产视频久久久久| 国产人妻精品一区二区三区不卡| 黄色国产精品| 国产精品久久久久秋霞鲁丝| 国产高清第一页| www激情久久| 最新不卡av| 日本а中文在线天堂| 9191久久久久久久久久久| 国产黑丝在线观看| 欧美大人香蕉在线| 亚洲 日韩 国产第一| 在线黄色av网站| 99麻豆久久久国产精品免费优播| 一区二区三区精品国产| 成年人在线网站| 日韩亚洲欧美高清| 色噜噜噜噜噜噜| 亚洲伦理一区| 亚洲自拍欧美另类| 日本中文在线| 日韩欧美第一页| 日本黄色大片在线观看| 欧美成人激情| 国产成人亚洲综合91精品| 精品欧美一区二区精品少妇| 国产女人18毛片水真多成人如厕| 国产精品裸体瑜伽视频| 欧美激情精品| 久久精品99久久久香蕉| 无码人妻丰满熟妇奶水区码| 成人免费黄色大片| 一级全黄肉体裸体全过程| 3d欧美精品动漫xxxx无尽| 亚洲国产成人在线视频| 欧美日韩人妻精品一区二区三区| 老司机一区二区| 欧洲在线视频一区| 欧美巨大丰满猛性社交| 亚洲电影免费观看高清| 国产一级aa大片毛片| 激情综合网激情| 在线丝袜欧美日韩制服| 国产亚洲一区二区手机在线观看| 亚洲精品久久久久国产| 久久伊人成人网| 国产v综合v亚洲欧| 亚洲黄色网址在线观看| 99热这里有精品| 精品国内亚洲在观看18黄| 久久久久精彩视频| 国产精品乱子久久久久| 亚洲欧洲日本精品| 色综合蜜月久久综合网| 成人福利视频网| 免费av在线网址| 欧美一区二区三区四区在线观看| 亚洲人成影视在线观看| 久久精品无码一区| 亚洲欧美日本日韩| 欧美精品一区在线| 345成人影院| 亚洲午夜女主播在线直播| 亚洲男人天堂网址| 国产精品国产三级国产aⅴ中文| 在线观看av网页| 999久久久精品国产| 91美女片黄在线观看游戏| 中文在线观看免费| 精品日韩在线观看| 香蕉视频一区二区| 久久久综合精品| 亚洲视频在线观看一区二区三区| 超碰成人久久| 91在线视频一区| av在线加勒比| 亚洲欧美中文字幕在线一区| 亚洲无码久久久久| 亚洲激情图片一区| 中文字幕影片免费在线观看| 小嫩嫩精品导航| 色吧亚洲视频| 国产精选久久| 久久久久久国产精品美女| 青青久在线视频免费观看| 色偷偷成人一区二区三区91| 免费成人深夜天涯网站| 乱一区二区av| 和岳每晚弄的高潮嗷嗷叫视频| 精品深夜福利视频| 国产成人精品视频在线观看| 在线免费看av| 亚洲国产成人av在线| 成人av网站在线播放| 成人欧美一区二区三区| 日本精品一二三| 日韩精品亚洲专区| 一区二区三区电影| www国产精品| 国产精品成人av在线| 午夜在线播放| 欧美变态口味重另类| 少妇太紧太爽又黄又硬又爽| 国产精品亲子乱子伦xxxx裸| 少妇黄色一级片| 1024日韩| 一区二区三区不卡在线| 国产精品调教视频| 国产精品免费视频xxxx| 1234区中文字幕在线观看| 亚洲精品一区中文| 91精品国产乱码久久久久| 亚洲午夜精品17c| 一本在线免费视频| 成人aa视频在线观看| 簧片在线免费看| 亚洲大胆视频| 日韩三级电影| 国产美女撒尿一区二区| 国产精品亚洲片夜色在线| 成人性生交大片免费看在线播放| 自拍亚洲一区欧美另类| 日本免费不卡视频| 欧美高清精品3d| aaaaaa毛片| 亚洲激情一二三区| 欧美做受高潮6| www.亚洲在线| 国产精品久久久久久久99| 日本大胆欧美人术艺术动态 | 可以免费观看的毛片| 欧美丝袜丝nylons| 日韩免费观看一区二区| 国产精品热久久久久夜色精品三区 | 国产精品久久亚洲| 懂色aⅴ精品一区二区三区| 8x拔播拔播x8国产精品| 国产精品剧情一区二区在线观看| 亚洲欧美视频在线| 无码精品人妻一区二区三区影院| 欧美一卡2卡三卡4卡5免费| 这里只有精品免费视频| 欧美日韩国产精品一区二区三区四区| 久久婷婷国产麻豆91| 亚洲欧美自拍偷拍| 极品人妻videosss人妻| 91免费视频网| 给我看免费高清在线观看| 国产成人av自拍| 99视频在线观看视频| 蜜桃久久久久久久| 任你操这里只有精品| 午夜在线精品偷拍| 黄www在线观看| 亚洲免费成人| 无码专区aaaaaa免费视频| 亚洲欧洲午夜| 欧美极品欧美精品欧美| 综合久久十次| 少妇久久久久久被弄到高潮| 中文字幕一区二区三三 | 最新国产精品自拍| 国产美女在线观看一区| 午夜免费福利视频在线观看| 免费一级欧美片在线观看| 成人一区二区三| 久久天堂成人| 五月婷婷丁香综合网| 毛片一区二区三区| 成年人三级黄色片| 国产在线一区观看| 久久av一区二区三| 成人手机在线视频| 亚洲中文字幕无码一区| 99久久99久久久精品齐齐| 88久久精品无码一区二区毛片| 久久―日本道色综合久久| 久久婷婷五月综合| 国产精品久久综合| 欧美成人精品一区二区免费看片| 一区二区三区欧美日| 精品爆乳一区二区三区无码av| 国产有码在线| 日韩美一区二区三区| 亚洲AV无码乱码国产精品牛牛 | 亚洲欧美日韩国产综合| 欧美第一页在线观看| 一区二区三区欧美| 国产无套在线观看| 欧美亚洲国产一区在线观看网站| 伊人网av在线| 日韩精品在线一区二区| 三区在线视频| 中文字幕日韩有码| 国产黄色在线网站| 韩国日本不卡在线| 欧美成人家庭影院| 99久久免费国| 国产精品三级| 精品人妻人人做人人爽| 今天的高清视频免费播放成人| 久久久亚洲国产精品| 天堂成人免费av电影一区| 向日葵污视频在线观看| 国产69精品久久777的优势| 国产一二三四五区| 亚洲免费观看高清完整| 成人午夜视频在线播放| 在线观看一区二区精品视频| 99精品视频免费看| 日韩精品免费综合视频在线播放| 日本三级视频在线观看| 欧美专区在线观看| 国产在线视频欧美一区| 久久精品国产综合精品| 亚洲午夜精品一区 二区 三区| 美女av免费观看| 日本欧美一区二区| 97人妻精品一区二区三区免费| 欧美激情一区二区| 久视频在线观看| 欧美撒尿777hd撒尿| 亚洲人成色777777老人头| 欧美精品在线看| 精品肉辣文txt下载| 久久综合给合久久狠狠色| 我不卡影院28| 黄色片一级视频| 国产精品1024| 二区三区四区视频| 色悠悠久久综合| 粉嫩小泬无遮挡久久久久久| 色诱女教师一区二区三区| 女同视频在线观看| 亚洲aa中文字幕| 日韩精品一区二区三区免费观影 | 日韩视频一区二区三区在线播放免费观看 | 91欧美日韩一区| 精品日本12videosex| 免费不卡av在线| 福利一区二区在线| 看免费黄色录像| 欧美视频三区在线播放| 久久久久久久久亚洲精品| 欧美国产日韩精品| 成人免费观看49www在线观看| 亚洲 国产 日韩 综合一区| 在线亚洲免费| 亚洲日本久久久| 亚洲一区免费观看| 亚洲精品人妻无码| 久久精品国产成人| 久久久国产精品网站| 亚洲免费在线精品一区| 人人爽香蕉精品| 国产在线观看h| 在线免费亚洲电影| 免费毛片在线| 日本精品免费观看| 欧美精品一区二区三区精品| 日韩av播放器| 国产日产欧美一区二区视频| 中文字幕人妻色偷偷久久| 在线播放国产精品| 久久麻豆视频| 日本a级片在线观看| 国产另类ts人妖一区二区| 国产福利视频网站| 欧美xxxx在线观看| 成人高潮aa毛片免费| 国产主播一区二区三区四区| 美女久久网站| 蜜乳av中文字幕| 欧美日韩在线精品一区二区三区激情| 五月天婷婷在线视频| 国产日韩一区在线| 亚洲人metart人体| 影音先锋资源av| 午夜精品久久久久| 手机福利在线| 成人久久一区二区| 911久久香蕉国产线看观看| 亚洲日本黄色片| 亚洲h在线观看| 青青草免费观看免费视频在线| 日韩美女在线观看| 一区二区影视| 亚洲啪av永久无码精品放毛片| 狠狠躁18三区二区一区| 91亚洲欧美| 亚洲一区美女视频在线观看免费| 欧美日韩国内| 乐播av一区二区三区| 欧美日本在线播放| 亚洲区欧洲区| 欧美日韩精品一区| 久久99精品久久久久| 国产亚洲精久久久久久无码77777| 日韩精品中文字幕在线播放| 国精品产品一区| 女人被男人躁得好爽免费视频| 国产三级精品三级| 99精品视频免费看| 欧美精品第一页在线播放| 成人毛片免费看|