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

Android 4.0的圖形硬件加速及繪制技巧

原創
移動開發 Android
最新的Android 4.0有很多新特性,51CTO特約了著名手機廠商Android開發工程師、最牛網站長作為本站專欄作者,為各位網友撰寫Android 4.0開發相關文章。本文我們將探討Android 4.0的圖形硬件加速及繪制技巧如何得到了更好的提升。

【51CTO獨家特稿】從Android 3.0開始,Android 2D的繪制流程就設計為能夠更好地支持硬件加速。使用GPU的View在Canvas上進行畫的操作時都會使用硬件加速。在***的Android版本里,圖形硬件加速及繪制技巧得到了更好的提升,51CTO特約了最牛網站長作為本站專欄作者,為各位網友撰寫Android 4.0開發相關文章。

Android 4.0

Android 4.0

1.Android 4.0硬件加速的使用

1.1 硬件加速的控制級別

啟用硬件加速的最簡單方法就是為整個系統打開硬件加速的全局設置。如果你的程序是標準View或者是Drawable 則硬件加速的全局設這并不會造成不良的影響。然而硬件加速并不支持所有2D畫的操作,所以開啟硬件加速可能會對使用自定義組件的應用程序造成影響,問題常常表現在不可見的元素異常和錯誤的像素渲染,為了解決這個問題Android可以讓你選擇啟動或者禁用以下級別的硬件加速:Application Activity Window 和 View 。

1.1.1 Application級別

在你的Android Manifest文件中添加 屬性標記,以便為整個應用程序使用硬件加速。

1.1.2 Activity級別

如果你的應用程序不能在Application應用級別表現良好的話,則可以使用對Activity進行單獨控制。要啟動或者禁用一個Activity的硬件加速,你可以使用activity的android:hardwareAccelerated屬性。下面的一個列子使整個Application啟用硬件加速,但是對一個Activity禁止使用硬件加速。

1.1.3 Window級別

如果你需要更細粒度的控制,你可以通過如下代碼給window進行加速。

  1. getWindow().setFlags( 
  2. WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 

注意:現階段你不能在Window級別對它禁用硬件加速。

1.1.4 View級別

我們可以對單獨的View在運行時階段禁用硬件加速。我們可以使用如下代碼:

  1. myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

注意:現階段不能夠在View級別進行硬件加速。

1.2 判斷一個View是否已經啟用了硬件加速

有時候我們需要知道一個應用程序是否已經啟用了硬件加速,特別是針對一些自定義控件。因為你的應用程序做了很多自定義“畫”的操作,但并不是所有的過程都支持新的“畫”的渲染過程。

有兩種不同的方法來檢查Application是否啟用了硬件加速:

1.2.1 使用View.isHardwareAccelerated() 如果返回true則可以說明這個View所在的窗口已經啟用了硬件加速。

1.2.2 Canvas.isHardwareAccelerated() 如果返回true則說明這個Canvas已經啟用了硬件加速。

如果你必須要在你的繪畫代碼中進行是否已經加速的檢查,如果可能的話請使用Canvas.isHardwareAccelerated()來代替View.isHardwareAccelerated()。當一個View是存在于一個已經加速的Windows上時,任然可以使用沒有硬件加速的Canvas進行繪畫,這場發生在,比如,當我們把一個View畫到Bitmap上然后用作緩存。#p#

2.Android 4.0的繪制模型

當開啟了硬件加速,Android框架將會使用一種新的繪制模型,這種模型將會使用顯示列表把你的應用顯示到屏幕上。要完全理解顯示列表和他們如何影響你的應用程序,理解Android 4.0如何在非硬件加速的情況下如何繪制Views是很有必要的,下面將分別介紹軟件加速和硬件加速。

2.1基于軟件的繪制模型

在基于軟件繪制模型中,View的繪制遵循以下兩步:1.使整個控件層級無效。2.對層級進行繪制。

當一個應用程序需要更新它UI的一部分時,它將會調用內容發生改變的View的invalidate()方法(或者invalidate的變體)。Invalidate的消息按照View的層級關系向上傳遞用以計算需要重畫的部分(即臟區域)。然后Android系統會對和臟區域有交集的所有View進行繪制,不幸的是這種模型中有兩個缺點:

2.1.1 在這種模型中當在不同的層進行畫的時候,會額外執行很多代碼。例如一個Button是位于另外一個View之上,當對Button調用 Invalidate()時,Android就會對這個View進行重繪,即便這個View沒有發生任何變化。

2.1.2 第二個問題是這種繪制模型會隱藏你Application中的Bug。因為Android系統會對和臟區域有交集的View進行重繪,在這種情況下如果一個view的內容發生了改變,即便這個View的Invalidate()的方法并沒有得到調用,它也可能被重繪。你便會依賴調用了invalidate()的其他的控件以便獲得正確的行為,因此每當你的Application發生改變時,這種行為多要隨之發生改變。也是基于次因,在你的自定義控件中你必須不斷地調用invalidate()方法,當你的數據或者是狀態會影響View的繪制代碼時。

注意:Android的View當它們的屬性發生改變時會自動的調用Invalidate()。比如,你改變一個 Textview的背景或者是它的文本。

2.2 基于硬件加速模型

Android 系統仍然通過invalidate()和draw()去請求屏幕更新和重新渲染,但是實際處理畫的方式是不同的。不是立即執行畫的命令,Android而會將所有畫的命令記錄在一個顯示列表里面,這個顯示列表包含了輸出的View層級的繪制代碼。還有一個優化就是Android在顯示列表中只會記錄和更新顯示層級中通過調用invalidate()函數被標記為“臟”的view。沒有被請求刷新的view可以通過重新請求先前的顯示列表以便重畫。新的繪制模型包括有三個步驟:1.禁用整個View層級。2.記錄和更新顯示列表。3.繪制顯示列表。

使用這個模型你不能依賴一個View和臟區域有交集就會執行draw()方法。要確保Android系統記錄了一個View的顯示列表,你必須調用invalidate()方法,如果忘記了調用刷新,會使View即便是發生了改變后也會看起來相同,這是一個比較容易發現bug的方式。

使用顯示列表的方式對動畫的表現也是很有好處的,因為設置指定的屬性值,比如透明度或者旋轉,就不需要請求刷新目標View(這將自動執行)。這項優化也應用于有顯示列表的Views(啟用了硬件加速的View),例如,現在有一個LinearLayout包含了一個ListView和Button,listview在button的上面。這時候LinearLayout的顯示列表如下所示:

◆DrawDisplayList(ListView) ;

◆DrawDisplayList(Button) ;

假設你現在你想更新這個Listview的不透明度,在設置Listview的 setAlpha(0.5f) 屬性之后,LinearLayout的顯示列表應該包含如下:

◆ SaveLayerAlpha(0.5)

◆ DrawDisplayList(ListView)

◆ Restore

◆ DrawDisplayList(Button)

這時候繪制Listview的復雜過程就會省略了,取而代之的是簡單的更新了LinearLayout的顯示列表。如果一個應用程序并沒有啟用硬件加速,Listview和它的父view的畫的代碼都會重新執行。#p#

3.Android 4.0 View的層

3.1層的分類

所有的Android版本都有能力對離屏緩沖進行渲染,或者是使用View的繪制緩沖,或者是使用Canvas.saveLayer()函數。離屏緩沖或者Layer能夠有很多種應用,例如能使處理復雜view的動畫效果或者應用一些合成效果都有更好地表現。例如你可以通過Canvas.saveLayer()的方式來對View做一個漸入漸出效果同時把它渲染到Layer中,然后再加上不透明效果合成后顯示到屏幕上。

由Android 3.0開始你就能夠通過View.setLayerType()方法對何時以及如何使用層有了更多的控制,這個API具有兩個參數一個是你想使用的層類型,另外一個是可選參數Paint表明了Layer是如何被疊加的。你可以把Paint參數應用到顏色過濾上,特別是混合模式或者是對一個layer進行不透明效果。一個View可以使用如下的三種layer類型之一:

◆ LAYER_TYPE_NONE: 這個View將被按普通的方式進行渲染,但是不會返回一個離屏的緩沖,這個是默認的行為。

◆ LAYER_TYPE_HARDWARE:如果這個應用被硬件加速的話,這個View將會在硬件中渲染為硬件紋理,如果應用程序并沒有被硬件加速,則其效果和LAYER_TYPE_SOFTWARE是相同的。

◆ LAYER_TYPE_SOFTWARE: 此View 通過軟件渲染為一個bitmap。

3.2 層的使用

使用層的類型取決于你的目的:

3.2.1 性能:使用硬件層來渲染一個View成為硬件紋理。一旦一個View被渲染為一個層,它的繪制代碼將不會得到執行,直到你調用了invalidate()函數。對于一些動畫,比如透明動畫可以直接應用到一個層上,這是GPU最有效率的使用方式。

3.2.2 顯示效果:使用硬件或者軟件層和Paint來對一個View進行特殊的視覺處理,例如你可以對一個View通過使用ColorMatrixColorFilter來實現黑白效果。

3.2.3 兼容性:使用軟件層類型會強制使一個view在軟件中被渲染。如果一個view是硬件加速的話(比如你設置整個應用程序是硬件加速的話),同時有渲染的問題,這是一種很簡單的方式來限制硬件繪制流程。

3.3 View的層和動畫的關系

當你的應用程序已經使用了硬件加速的話,硬件層能夠帶來更為快速和更為平滑的動畫效果。當對一個復雜的View進行動畫操作時,因為要進行很多的畫操作,所以并不可能總是能達到60幀每秒。在這種情況下可以通過硬件層來渲染為硬件紋理來提高性能。硬件紋理操作可以用作對一個view進行動畫操作,當進行動畫的時候可以減少對View自身頻繁的重繪。除非你改變這個view的屬性(調用invalidate()方法)或者你手動的調用invalidate()。如果在你的應用中運行一個動畫,但是并沒有得到你想要的平滑效果,可以考慮為你要動畫的view開啟硬件層。

當一個View通過硬件層返回時,當所有的層疊加后最終的畫面顯示在屏幕時,View一些屬性會被同時被處理。設置這些屬性是十分有效率的,因為他們不需要View去invalidate和重繪。如下的屬性將影響層的疊加,設置這些屬性將會使View自動請求刷新,而且不需要對View進行重繪。

◆alpha: 改變層的透明度。

◆x, y, translationX, translationY: 改變層的位置

◆scaleX, scaleY: 改變層的大小

◆rotation, rotationX, rotationY:在3D空間內改變層的方向

◆pivotX, pivotY: 指定它進行變形的原點位置

這些屬性是通過ObjectAnimator對象對一個view進行動畫操作時所使用的,如果你想訪問這些屬性,直接調用這些屬性的setter或者getter方法,例如想改變View的alpha則直接調用setAlpha()。如下的代碼片段顯示了一個View通過Y軸進行3D旋轉。

  1. view.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
  2. ObjectAnimator.ofFloat(view, "rotationY", 180).start(); 

因為硬件層會消耗視頻的內存,強烈的推薦你在作動畫的時候啟用他們,當動畫完成了之后禁用他們,你可以通過動畫監聽來完成這些。代碼如下:

  1. View.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
  2. ObjectAnimator animatorObjectAnimator.ofFloat(view, "rotationY", 180); 
  3. animator.addListener(new AnimatorListenerAdapter() { 
  4. @Override 
  5. public void onAnimationEnd(Animator animation) { 
  6. view.setLayerType(View.LAYER_TYPE_NONE, null); 
  7. }); 
  8. animator.start(); 

#p#

Android 4.0提示和技巧

切換到硬件加速2D圖形可以立即增強表現,但是你還是需要通過如下的建議來設計你的應用程序來更有效率的使用GPU。

4.1 減少你程序中使用View的數量

你系統中畫的view的數量越多,你的程序就會越慢,在軟件繪制的流程也是一樣的,減少view的數量是優化你UI的一個最簡單的方法。

4.2 避免過多繪制

不要過多的疊加層,當一個View被其他view完全遮擋住了的話,***把被遮擋的view移除掉。如果你需要繪制不同的層做一個疊加效果的話,考慮把這些層合并為一個層。就現在的硬件來看,有一個好的經驗就是動畫的每幀不要繪制多余屏幕像素2.5倍的像素數量(bimap中的透明像素也計算在內)。

4.3 不要在繪制的方法中創建繪制對象

一個常見的錯誤就是當繪制方法被調用的時候,每次都要創建一個新的Paint或者Path。這將迫使垃圾回收器過于頻繁的運行,這將對緩沖和硬件的繪制造成影響。

4.4 不要過于頻繁的修改形狀

以復雜的shapes,path和旋轉為例,這些繪制都會用到紋理的遮罩。每當你創建或者修改一個path,硬件渲染過程都會創建一個新的遮罩,這耗費的代價是相當大的。

4.5 不要過于頻繁的修改bitmap

每當修改一次bitmap的內容,當你下次再繪制它的時候都會以GPU的紋理形式上傳一次。

4.6 要小心使用alpha通道

當你使用setAlpha ,AlphaAnimation或者ObjectAnimator設置一個View的透明效果時。它將需要2倍離屏的渲染緩沖填充率,當應用一個alpha到一個大的View上的時候,考慮設置view 層的類型為LAYER_TYPE_HARDWARE。

本文作者的微博為http://weibo.com/zuiniuwang 歡迎大家與他聯系。

【51CTO.com獨家特稿,非經授權謝絕轉載,合作媒體轉載請注明原文作者及出處!】

責任編輯:佚名 來源: 51CTO.com
相關推薦

2012-07-24 14:30:58

Windows 8操作系統

2020-07-08 08:30:28

Windows操作系統功能

2012-01-11 16:02:56

Android 4.0Launcher源碼分析

2017-02-07 10:56:59

Android硬件加速App

2009-12-23 13:55:44

WPF硬件加速

2017-12-25 14:29:31

NFV硬加速運營商

2010-06-24 10:59:11

Bzip2算法

2010-07-20 16:01:44

GPU硬件加速瀏覽器

2010-10-08 09:18:06

Ubuntu 10.1GPU硬件加速

2011-07-14 09:30:47

HTML 5Windows PhoMango

2021-01-12 09:00:17

FirefoxLinux開發者

2010-01-27 09:17:43

Office 2010GUP加速

2017-08-07 18:20:14

Windows 7WindowsCPU

2011-05-04 09:23:19

Android 3.1硬件加速FlashPlayer

2010-05-19 11:17:24

Office 2010

2010-09-16 11:09:34

IE 9 Beta評測

2020-07-08 17:24:10

Windows 10GPU硬件

2022-08-03 08:00:00

機器人硬件開發

2022-06-15 16:06:29

LZ4 算法硬件加速

2011-03-16 17:12:46

IE9GPU
點贊
收藏

51CTO技術棧公眾號

日本a级片电影一区二区| 日韩av在线电影网| 国产欧美123| 好吊色一区二区| 久久先锋影音| 欧美日韩第一页| 国产成人av一区二区三区不卡| 日本肉肉一区 | 日韩一区二区三区在线视频| 黄网站欧美内射| 一本一道波多野毛片中文在线| 国产乱色国产精品免费视频| 1769国产精品| 成年人午夜剧场| 要久久爱电视剧全集完整观看| 欧美二区在线观看| www.欧美日本| xxx在线免费观看| 国产精品午夜久久| 久久国产精品久久| 亚洲国产精品suv| 青青草国产成人av片免费| 欧美激情视频网| 四虎国产成人精品免费一女五男| 精品福利一区| 欧美一二三区精品| 黄色三级视频在线| 日韩精品美女| 亚洲福利视频一区| 91免费视频黄| av在线免费播放网站| av一本久道久久综合久久鬼色| 91精品国产综合久久香蕉| 久久精品视频5| 亚洲第一伊人| 欧美激情乱人伦| 欧美日韩色视频| 不卡在线一区| 亚洲精品一区二区网址| 逼特逼视频在线观看| 国产一区一区| 欧美喷潮久久久xxxxx| 日韩中文字幕组| 久久sese| 日本精品免费观看高清观看| 日本午夜激情视频| av资源在线| 亚洲国产精品久久一线不卡| 18禁裸男晨勃露j毛免费观看| 国产黄网站在线观看| 国产精品剧情在线亚洲| 亚洲成人精品电影在线观看| 六十路在线观看| www激情久久| 秋霞在线观看一区二区三区| 每日更新在线观看av| 2020国产精品久久精品美国| 久久国产一区| 东热在线免费视频| 国产精品网曝门| 一区二区三区在线视频111| av网站在线免费观看| 中文成人综合网| 中文字幕成人一区| 手机在线免费av| 亚洲图片欧美综合| 131美女爱做视频| 都市激情亚洲综合| 欧美无乱码久久久免费午夜一区| www.天天射.com| 96视频在线观看欧美| 欧美一级黄色片| 在线观看亚洲免费视频| 亚洲人成网站77777在线观看| 亚洲欧美日韩直播| www.4hu95.com四虎| 五月激情综合| 久久欧美在线电影| 亚洲国产成人精品女人久久| 蜜桃91丨九色丨蝌蚪91桃色| 成人精品aaaa网站| 丰满少妇一级片| 91丨porny丨国产入口| 日本一区视频在线| 国产黄网站在线观看| 香港成人在线视频| 色综合色综合色综合色综合| 秋霞一区二区三区| 亚洲欧美国产va在线影院| 超碰人人人人人人人| 韩日精品在线| 国产精品久久久久久久久久久久久久 | 一级黄色电影片| 久久99蜜桃| 欧美成人午夜影院| 无码人妻精品一区二| 国产在线视频一区二区| 国产日韩一区二区| 自拍视频在线播放| 亚洲成人免费av| 一级黄色录像在线观看| 动漫av一区| 最近2019中文免费高清视频观看www99 | 国产精品视频成人| 欧美熟妇乱码在线一区 | 69av.com| 奇米影视7777精品一区二区| 成人在线看片| 最新国产在线观看| 欧美性jizz18性欧美| 日本一本在线视频| av伊人久久| 91精品国产精品| 精品国产亚洲av麻豆| 久久精品在这里| 免费在线看黄色片| 色狠狠一区二区三区| 亚洲高清久久久久久| 午夜剧场免费在线观看| 久久一区二区三区超碰国产精品| 91在线观看免费高清完整版在线观看| 全色精品综合影院| 亚洲电影第三页| 99999精品| 色综合咪咪久久网| 国产精品白嫩初高中害羞小美女 | 一区二区三区自拍视频| 色综久久综合桃花网| 日本中文字幕久久| 91丨九色丨尤物| 久久av综合网| 警花av一区二区三区| 中文字幕精品av| 好看的av在线| 91亚洲精品一区二区乱码| 国产精品视频二| 国产精品一级在线观看| 欲色天天网综合久久| 黄色片网站在线免费观看| 丁香婷婷综合激情五月色| 永久免费在线看片视频| 激情欧美一区二区三区黑长吊| 亚洲欧美在线免费| 手机在线看片1024| 久久精品一区二区三区av| www.亚洲天堂网| 亚洲裸色大胆大尺寸艺术写真| 久久久久久久久久国产| 亚洲精品综合网| 亚洲一区电影777| 黑人玩弄人妻一区二区三区| 欧美精品一线| 国产欧美日韩伦理| 不卡专区在线| 日韩精品视频在线| 伊人中文字幕在线观看| 国产欧美精品在线观看| 亚洲欧美自拍另类日韩| 天天超碰亚洲| 91国产在线免费观看| 污网站在线免费看| 精品少妇一区二区三区视频免付费 | 欧美日韩亚洲网| 久久中文字幕人妻| 肉肉av福利一精品导航| 亚洲精品视频一二三| 亚洲精品tv| 久久夜色撩人精品| 亚洲黄色一级大片| 午夜精品影院在线观看| 在线免费观看麻豆| 美国三级日本三级久久99| 色呦呦网站入口| 国产成人tv| 国产mv免费观看入口亚洲| av在线播放网| 日韩欧美亚洲国产精品字幕久久久| 精国产品一区二区三区a片| av不卡一区二区三区| 免费日韩视频在线观看| 日韩中文欧美| 国产精品久久久对白| 日韩三级影视| 九九久久精品一区| 经典三级在线| 欧美一级理论性理论a| 在线天堂中文字幕| 亚洲天堂免费在线观看视频| 国产大学生视频| 日韩不卡免费视频| 国产激情片在线观看| 日韩精品av| 国产精品视频线看| 久久无码人妻一区二区三区| 亚洲精品一级| 亚州欧美一区三区三区在线| 中文字幕日韩亚洲| 97超碰色婷婷| 人人干在线视频| 亚洲精品久久7777777| 曰批又黄又爽免费视频| 午夜精品成人在线视频| 国产又色又爽又高潮免费| www.激情成人| 手机精品视频在线| 日韩国产高清影视| 精品国偷自产一区二区三区| 日韩av免费大片| 国产精品二区二区三区| 97成人超碰| 91国在线精品国内播放| 国产剧情在线| 亚洲一级黄色片| 女人18毛片水真多18精品| 制服视频三区第一页精品| 蜜臀精品一区二区三区| 亚洲成人动漫精品| 亚洲一级生活片| 欧美高清在线一区二区| 国产肉体xxxx裸体784大胆| 国产精品77777| www.超碰97.com| 日韩国产精品久久| 国产男女无遮挡| 亚洲黄色一区| www.av蜜桃| 午夜亚洲福利| 99re8这里只有精品| 日韩欧美二区| 日韩在线电影一区| 国产精品免费大片| 欧美一区二区在线视频观看| 国偷自产av一区二区三区| 亚洲字幕一区二区| 99久久久成人国产精品| 国产精品美乳一区二区免费 | 国产成人福利视频| 欧美男人天堂| 88xx成人精品| 亚洲啊v在线| 欧美又大又粗又长| 色多多在线观看| 日本91av在线播放| 久久91导航| 日本成人在线视频网址| 亚洲永久av| 国产97色在线|日韩| 91精品影视| 国产欧美在线播放| 日韩三级成人| 99久久自偷自偷国产精品不卡| 国产精品毛片aⅴ一区二区三区| 成人激情免费在线| 日韩在线精品强乱中文字幕| 不卡日韩av| 欧美a一欧美| 免费观看成人在线| blacked蜜桃精品一区| 亚洲人成网站在线观看播放| 97在线精品| 99热都是精品| 在线观看日韩av电影| 国内性生活视频| 肉肉av福利一精品导航| 在线观看岛国av| 国产成人精品亚洲午夜麻豆| 娇妻高潮浓精白浆xxⅹ| 337p粉嫩大胆噜噜噜噜噜91av| 中文字幕免费高清| 中文字幕亚洲精品在线观看| 午夜写真片福利电影网| 岛国av在线不卡| 国产字幕在线观看| 91.com在线观看| 在线观看xxx| 在线看福利67194| 91cn在线观看| 欧美一级大片在线免费观看| 亚洲精品555| 99视频免费观看| 欧美欧美黄在线二区| 97超碰免费观看| 国产日韩高清一区二区三区在线| 欧美日韩亚洲自拍| 国产传媒久久文化传媒| 少妇大叫太粗太大爽一区二区| 中国av一区二区三区| 豆国产97在线 | 亚洲| 一本在线高清不卡dvd| 国产美女免费看| 日韩高清欧美高清| sm国产在线调教视频| 欧美一区二区三区…… | 在线电影院国产精品| 五月婷婷丁香六月| 一个人www欧美| 国产乱码在线| 国产欧亚日韩视频| 欧美顶级毛片在线播放| 亚洲精品国产一区| 日韩午夜av| 97人人模人人爽人人澡| 久久婷婷色综合| 久久精品欧美一区二区| 欧美三级日本三级少妇99| 欧美一区,二区| 久久躁日日躁aaaaxxxx| 毛片免费看不卡网站| 波多野结衣精品久久| 色综合久久网| 四虎永久在线精品无码视频| 国产成人精品1024| 天堂av免费在线| 在线视频综合导航| 天堂中文网在线| 久久久久久久久久久网站| 亚洲成人高清| 日本一区视频在线播放| 国产日韩高清一区二区三区在线| 国产精品19p| 亚洲免费在线视频一区 二区| 特级西西444www大胆免费看| 日韩风俗一区 二区| 国产网红在线观看| 91影院在线免费观看视频| 日韩黄色大片| 成人精品视频一区二区| 91在线小视频| 日韩女优在线观看| 亚洲第一天堂av| 精品精品导航| 成人性色av| 黄色日韩在线| 亚洲无人区码一码二码三码| 亚洲精品国产成人久久av盗摄| 一本色道久久综合精品婷婷| 伊人久久大香线蕉av一区二区| sese综合| 日本欧洲国产一区二区| 日韩中文字幕av电影| 男人天堂av电影| 91久久精品日日躁夜夜躁欧美| 欧美香蕉爽爽人人爽| 欧美在线一级va免费观看| 天堂成人娱乐在线视频免费播放网站| 久草视频国产在线| 99在线精品免费| 国产成人精品一区二三区| 亚洲精品wwwww| xx欧美视频| 欧美一进一出视频| 欧美96一区二区免费视频| 国产精品成人在线视频| 欧美日韩高清一区二区不卡| 日本中文字幕在线2020| 91在线观看免费观看 | 久久99国产精品久久99大师| 5月婷婷6月丁香| 久久久91精品国产一区二区精品 | 日本少妇性生活| 亚洲精品久久久久久久久久久久 | 欧美精品乱码久久久久久按摩| 看黄网站在线| 999国内精品视频在线| 亚洲性感美女99在线| 欧美性xxxx图片| 在线欧美日韩精品| 日本亚洲精品| 国产乱码精品一区二区三区日韩精品| 亚洲精品一级| 欧美xxxx精品| 欧美成人一级视频| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | aⅴ在线免费观看| 国产精品视频第一区| 精品国自产拍在线观看| 26uuu亚洲国产精品| 青青草国产免费一区二区下载| 91欧美一区二区三区| 精品欧美一区二区三区| shkd中文字幕久久在线观看| 亚洲综合日韩中文字幕v在线| 亚洲国产影院| 日本视频在线免费| 精品国产在天天线2019| 午夜无码国产理论在线| 国产人妻互换一区二区| 久久综合久久综合九色| 91一区二区视频| 77777少妇光屁股久久一区| 日韩久久视频| 日韩网站在线播放| 欧美一区二区三区免费在线看| 成人美女黄网站| 欧美美女黄色网| 国产欧美一区二区精品久导航 | 狠狠干视频网站| 国产亚洲成av人在线观看导航| 朝桐光av在线一区二区三区| 国产成人午夜视频网址|