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

Android 布局優(yōu)化

移動(dòng)開(kāi)發(fā) Android
在開(kāi)發(fā)過(guò)程中我們經(jīng)常說(shuō)性能優(yōu)化,但性能優(yōu)化是一個(gè)比較寬泛的概念。在Android開(kāi)發(fā)中性能優(yōu)化可能包括:Java代碼優(yōu)化, 算法優(yōu)化, SQLite優(yōu)化, 布局優(yōu)化等。那么這篇博客就來(lái)總結(jié)并分享下Android開(kāi)發(fā)中的布局優(yōu)化。

布局原則

在Android UI布局過(guò)程中,通過(guò)遵守一些慣用、有效的布局原則,我們可以制作出高效且復(fù)用性高的UI,概括來(lái)說(shuō)包括如下幾點(diǎn):

盡量多使用RelativeLayout 和LinearLayout, 不要使用絕對(duì)布局AbsoluteLayout,在布局層次一樣的情況下, 建議使用LinearLayout代替RelativeLayout, 因?yàn)長(zhǎng)inearLayout性能要稍高一點(diǎn),但往往RelativeLayout可以簡(jiǎn)單實(shí)現(xiàn)LinearLayout嵌套才能實(shí)現(xiàn)的布局。

將可復(fù)用的組件抽取出來(lái)并通過(guò)include標(biāo)簽使用;

使用ViewStub標(biāo)簽來(lái)加載一些不常用的布局;

使用merge標(biāo)簽減少布局的嵌套層次;

RelativeLayout VS LinearLayout

***條原則說(shuō)了布局層次一樣的情況下LinearLayout比RelativeLayout要好, 但往往RelativeLayout可以簡(jiǎn)單實(shí)現(xiàn)LinearLayout嵌套才能實(shí)現(xiàn)的布局。假如需要實(shí)現(xiàn)如下布局:

用LinearLayout來(lái)實(shí)現(xiàn)xml代碼如下:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="fill_parent" 
  3.     android:layout_height="?android:attr/listPreferredItemHeight" 
  4.     android:padding="6dip"
  5.      
  6.     <ImageView 
  7.         android:id="@+id/icon" 
  8.         android:layout_width="wrap_content" 
  9.         android:layout_height="fill_parent" 
  10.         android:layout_marginRight="6dip" 
  11.         android:src="@drawable/icon" /> 
  12.  
  13.     <LinearLayout 
  14.         android:orientation="vertical" 
  15.         android:layout_width="0dip" 
  16.         android:layout_weight="1" 
  17.         android:layout_height="fill_parent"
  18.  
  19.         <TextView 
  20.             android:layout_width="fill_parent" 
  21.             android:layout_height="0dip" 
  22.             android:layout_weight="1" 
  23.             android:gravity="center_vertical" 
  24.             android:text="My Application" /> 
  25.              
  26.         <TextView   
  27.             android:layout_width="fill_parent" 
  28.             android:layout_height="0dip" 
  29.             android:layout_weight="1"  
  30.             android:singleLine="true" 
  31.             android:ellipsize="marquee" 
  32.             android:text="Simple application that shows how to use RelativeLayout" /> 
  33.              
  34.     </LinearLayout></LinearLayout> 

而用RelativeLayout實(shí)現(xiàn)代碼如下:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="fill_parent" 
  3.     android:layout_height="?android:attr/listPreferredItemHeight" 
  4.     android:padding="6dip"
  5.      
  6.     <ImageView 
  7.         android:id="@+id/icon" 
  8.         android:layout_width="wrap_content" 
  9.         android:layout_height="fill_parent" 
  10.         android:layout_alignParentTop="true" 
  11.         android:layout_alignParentBottom="true" 
  12.         android:layout_marginRight="6dip" 
  13.         android:src="@drawable/icon" /> 
  14.  
  15.     <TextView   
  16.         android:id="@+id/secondLine" 
  17.         android:layout_width="fill_parent" 
  18.         android:layout_height="26dip"  
  19.         android:layout_toRightOf="@id/icon" 
  20.         android:layout_alignParentBottom="true" 
  21.         android:layout_alignParentRight="true" 
  22.         android:singleLine="true" 
  23.         android:ellipsize="marquee" 
  24.         android:text="Simple application that shows how to use RelativeLayout" /> 
  25.  
  26.     <TextView 
  27.         android:layout_width="fill_parent" 
  28.         android:layout_height="wrap_content" 
  29.         android:layout_toRightOf="@id/icon" 
  30.         android:layout_alignParentRight="true" 
  31.         android:layout_alignParentTop="true" 
  32.         android:layout_above="@id/secondLine" 
  33.         android:layout_alignWithParentIfMissing="true" 
  34.         android:gravity="center_vertical" 
  35.         android:text="My Application" /></RelativeLayout> 

可以看到用RelativeLayout實(shí)現(xiàn),布局層次明顯少了,所以大多數(shù)時(shí)候優(yōu)先推薦使用RelativeLayout。

 

查看布局層次

如何查看布局層次呢?有兩種辦法:一是通過(guò)手機(jī)的開(kāi) 發(fā)者選項(xiàng),4.0及以上Android版本可通過(guò)設(shè)置->開(kāi)發(fā)者選項(xiàng)->顯示布局邊界打開(kāi)頁(yè)面布局顯示,看看是否有不必要的節(jié)點(diǎn)和嵌套。第二 種就是利用SDK自帶的UI性能檢測(cè)工具HierarchyViewer。 進(jìn)入sdk目錄下的tools文件夾下,找到HierarchyViewer并運(yùn)行(此時(shí)保持你的模擬器或真機(jī)正在運(yùn)行需要進(jìn)行分析的App),雙擊我們 正在顯示的這個(gè)App所代表的進(jìn)程。接下來(lái)便會(huì)進(jìn)入hierarchyviewer的界面,我們可以在這里很清晰看到正在運(yùn)行的UI的布局層次結(jié)構(gòu)以及它 們之間的關(guān)系。大概的顯示如下圖:

通過(guò)布局圖我們可以看到根節(jié)點(diǎn)DecorView下 包含一個(gè)LinearLayout, 這個(gè)LinearLayout就是包含Activity布局和狀態(tài)欄的整個(gè)屏幕顯示的布局父節(jié)點(diǎn),這個(gè)LinearLayout有兩個(gè)子節(jié)點(diǎn), 一個(gè)是FrameLayout, FrameLayout就是Activity布局中默認(rèn)的父布局節(jié)點(diǎn), 這個(gè)節(jié)點(diǎn)下面就包含了我們自己寫的xml布局, 還有一個(gè)子節(jié)點(diǎn)就是ViewStub,關(guān)于這個(gè)節(jié)點(diǎn)我們?cè)诤竺鏁?huì)詳細(xì)介紹。

 

< include />的使用

在實(shí)際開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一些共用的UI組件, 比如帶返回按鈕的導(dǎo)航欄,如果為每一個(gè)xml文件都設(shè)置這部分布局,一是重復(fù)的工作量大,二是如果有變更,那么每一個(gè)xml文件都得修改。還 好,Android為我們提供了include標(biāo)簽,顧名思義,通過(guò)它,我們可以將這些共用的組件抽取出來(lái)單獨(dú)放到一個(gè)xml文件中,然后使用 include標(biāo)簽導(dǎo)入共用布局,這樣,前面提到的兩個(gè)問(wèn)題都解決了。下面以在一個(gè)布局main.xml中用include引入另一個(gè)布局 header.xml為例。

header.xml文件

  1. <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="match_parent" 
  3.     android:layout_height="match_parent" > 
  4.  
  5.     <Button 
  6.         android:id="@+id/button" 
  7.         android:layout_width="match_parent" 
  8.         android:layout_height="@dimen/dp_40" 
  9.         android:layout_above="@+id/text"/> 
  10.  
  11.     <TextView 
  12.         android:id="@+id/text" 
  13.         android:layout_width="match_parent" 
  14.         android:layout_height="@dimen/dp_40" 
  15.         android:layout_alignParentBottom="true" 
  16.         android:text="@string/app_name" /></RelativeLayout> 

然后我們?cè)谛枰雈ooter的布局xml中通過(guò)include導(dǎo)入這個(gè)共用布局。

main.xml文件

  1. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="match_parent" 
  3.     android:layout_height="match_parent"
  4.  
  5.     <TextView 
  6.         android:layout_width="match_parent" 
  7.         android:layout_height="wrap_content" 
  8.         android:text="hello world" /> 
  9.  
  10.     <RelativeLayout  
  11.         android:layout_width="match_parent" 
  12.         android:layout_height="match_parent" 
  13.         android:layout_gravity="center" > 
  14.  
  15.         <include layout="@layout/header" /> 
  16.  
  17.     </RelativeLayout></FrameLayout> 

通過(guò)這種方式,我們既能提高UI的制作和復(fù)用效率,也能保證制作的UI布局更加規(guī)整和易維護(hù)。

 

< merge />的使用

merge標(biāo)簽的作用是合并UI布局,使用該標(biāo)簽?zāi)芙档蚒I布局的嵌套層次。merge標(biāo)簽可用于兩種典型情況:

  • 布局根結(jié)點(diǎn)是FrameLayout且不需要設(shè)置background或padding等屬性,可以用merge代替,因?yàn)锳ctivity內(nèi)容布局的parent view就是個(gè)FrameLayout,所以可以用merge消除只剩一個(gè),這一點(diǎn)可以從上圖中看到。

  • 某布局作為子布局被其他布局include時(shí),使用merge當(dāng)作該布局的頂節(jié)點(diǎn),這樣在被引入時(shí)頂結(jié)點(diǎn)會(huì)自動(dòng)被忽略,而將其子節(jié)點(diǎn)全部合并到主布局中。

以***種情況為例,main.xml布局就可以優(yōu)化如下:

  1. merge xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="match_parent" 
  3.     android:layout_height="match_parent"
  4.  
  5.     <FrameLayout  
  6.         android:layout_width="match_parent" 
  7.         android:layout_height="match_parent"
  8.  
  9.         <TextView 
  10.             android:layout_width="match_parent" 
  11.             android:layout_height="wrap_content" 
  12.             android:text="hello world" /> 
  13.  
  14.         <RelativeLayout  
  15.             android:layout_width="match_parent" 
  16.             android:layout_height="match_parent" 
  17.             android:layout_gravity="center" > 
  18.  
  19.             <include layout="@layout/header" /> 
  20.  
  21.         </RelativeLayout> 
  22.     </FrameLayout></merge> 

以第二種情況為例,header.xml布局可以優(yōu)化如下:

  1. <?xml version="1.0" encoding="utf-8"?><merge xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="match_parent" 
  3.     android:layout_height="match_parent" > 
  4.   
  5.     <Button 
  6.         android:id="@+id/button" 
  7.         android:layout_width="match_parent" 
  8.         android:layout_height="@dimen/dp_40" 
  9.         android:layout_above="@+id/text"/> 
  10.   
  11.     <TextView 
  12.         android:id="@+id/text" 
  13.         android:layout_width="match_parent" 
  14.         android:layout_height="@dimen/dp_40" 
  15.         android:layout_alignParentBottom="true" 
  16.         android:text="@string/app_name" /> 
  17.  </merge> 

這樣就不會(huì)有多余的FrameLayout和RelativeLayout節(jié)點(diǎn)了。

 

ViewStub標(biāo)簽

viewstub標(biāo)簽同include標(biāo)簽一樣可以 用來(lái)引入一個(gè)外部布局,不同的是,viewstub引入的布局默認(rèn)不會(huì)擴(kuò)張,即既不會(huì)占用顯示也不會(huì)占用位置,從而在解析layout時(shí)節(jié)省cpu和內(nèi) 存。 viewstub常用來(lái)引入那些默認(rèn)不會(huì)顯示,只在特殊情況下顯示的布局,如進(jìn)度布局、網(wǎng)絡(luò)失敗顯示的刷新布局、信息出錯(cuò)出現(xiàn)的提示布局等。

我們新建一個(gè)xml文件用來(lái)顯示一個(gè)網(wǎng)絡(luò)錯(cuò)誤時(shí)提示信息error.xml:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     xmlns:tools="http://schemas.android.com/tools" 
  3.     android:layout_width="wrap_content" 
  4.     android:layout_height="wrap_content" > 
  5.  
  6.    <TextView 
  7.         android:layout_width="wrap_content" 
  8.         android:layout_height="wrap_content" 
  9.         android:layout_centerInParent="true" 
  10.         android:background="@android:color/white" 
  11.         android:padding="10dip" 
  12.         android:text="Message" 
  13.         android:textColor="@android:color/black" /></RelativeLayout 

然后在main.xml里面加入ViewStub的標(biāo)簽引入上面的布局:

  1. <merge xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     xmlns:tools="http://schemas.android.com/tools" 
  3.     android:layout_width="match_parent" 
  4.     android:background="@android:color/darker_gray" 
  5.     android:layout_height="match_parent" > 
  6.  
  7.     ...    <ViewStub 
  8.         android:id="@+id/error_layout" 
  9.         android:layout_width="wrap_content" 
  10.         android:layout_height="wrap_content" 
  11.         android:layout_gravity="center" 
  12.         android:layout="@layout/error" /></merge> 

在java中通過(guò)(ViewStub)findViewById(id)找到ViewStub,通過(guò)stub.inflate()展開(kāi)ViewStub,然后得到子View,如下:

  1. private View errorView; 
  2.  private void showError() { 
  3.     // not repeated infalte 
  4.     if (errorView != null) { 
  5.         errorView.setVisibility(View.VISIBLE); 
  6.         return
  7.     } 
  8.   
  9.     ViewStub stub = (ViewStub)findViewById(R.id.error_layout); 
  10.     errorView = stub.inflate();} 
  11.  private void showContent() { 
  12.     if (errorView != null) { 
  13.         errorView.setVisibility(View.GONE); 
  14.     }} 

在上面showError()中展開(kāi)了ViewStub,同時(shí)我們對(duì)errorView進(jìn)行了保存,這樣下次不用繼續(xù)inflate。

 

總結(jié)

這篇Blog沒(méi)有詳細(xì)介紹 HierarchyViewer工具的使用,相信如果對(duì)布局原則比較熟練之后,對(duì)工具的依賴大大減少,開(kāi)發(fā)效率也會(huì)大大的提升。除這些布局原則之外,還需 要大家對(duì)Android各個(gè)組件的屬性很熟悉,比如如果要做這么一個(gè)布局, 一個(gè)圖片和一個(gè)文本的布局,新手們往往會(huì)用一個(gè)Layout嵌套ImageView和TextView來(lái)做, 但是當(dāng)我們知道TextView有drawableLeft, drawableRight等屬性時(shí),那么實(shí)現(xiàn)這樣的一個(gè)布局是非常快速高效的。總之,且學(xué)且實(shí)踐!

責(zé)任編輯:chenqingxiang 來(lái)源: oschina
相關(guān)推薦

2012-05-08 16:37:23

android

2013-09-17 10:17:39

Android布局

2011-03-24 09:03:13

Android SDKAndroid

2023-08-25 08:06:04

項(xiàng)目布局LazyRow?

2009-12-31 15:21:48

Silverlight

2011-05-31 09:36:46

Android 布局屬性

2017-05-11 15:01:43

Androidweb布局

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)

2019-07-25 13:22:43

AndroidAPK文件優(yōu)化

2019-12-13 10:25:08

Android性能優(yōu)化啟動(dòng)優(yōu)化

2016-09-22 09:24:33

AndroidViewStub

2014-09-05 10:10:32

Android自適應(yīng)布局設(shè)計(jì)

2011-04-07 08:59:47

Android交互設(shè)計(jì)

2013-09-16 15:16:20

Android性能優(yōu)化

2013-03-27 09:17:17

Android開(kāi)發(fā)AndroidList

2013-09-17 10:32:08

Android性能優(yōu)化數(shù)據(jù)庫(kù)

2012-05-14 21:08:47

Android頁(yè)面布局

2011-04-22 11:01:36

框架布局界面設(shè)計(jì)Android

2010-01-28 11:18:14

Android界面布局

2011-04-11 17:07:33

布局基礎(chǔ)用戶界面設(shè)計(jì)Android
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

午夜少妇久久久久久久久| 分分操这里只有精品| 日韩欧美国产另类| 91成人影院| 亚洲аv电影天堂网| 国产资源在线视频| 日本在线免费播放| 国产高清视频一区| 日本不卡免费高清视频| 天海翼在线视频| 欧美黄色影院| 制服.丝袜.亚洲.另类.中文| 日韩中文字幕在线视频观看| 91av资源在线| 91在线一区二区三区| 成人激情视频免费在线| 六月丁香婷婷综合| 欧美日韩成人| 最近日韩中文字幕中文| 91丨porny丨对白| 日韩精品一级毛片在线播放| 亚洲午夜日本在线观看| 超碰成人在线免费观看| 日本免费不卡| 粉嫩一区二区三区在线看| 国产精品美女久久久免费| 国产精彩视频在线观看| 永久91嫩草亚洲精品人人| 国产午夜精品久久久| 久久黄色一级视频| 色婷婷成人网| 日本高清视频一区二区| 亚洲熟妇无码一区二区三区| av网站在线看| 中文字幕一区三区| 日本一区二区高清视频| 深爱五月激情五月| 粉嫩av亚洲一区二区图片| 国产日韩欧美91| 中文字幕在线观看视频免费| 国产日本精品| 欧美极品欧美精品欧美视频 | 成人精品免费看| 国产综合香蕉五月婷在线| 国产一卡二卡三卡| 久久福利毛片| 欧美一级高清免费播放| 黄色激情视频在线观看| 欧美视频亚洲视频| 欧美激情第三页| 欧美日韩精品一区二区三区视频播放| 日韩国产专区| 最近2019中文字幕大全第二页| 在线不卡av电影| 国产精品入口久久| 亚洲欧洲av一区二区| wwwwxxxx国产| 激情五月色综合国产精品| 精品亚洲一区二区三区在线观看| 无码国产精品一区二区免费式直播 | 国产老妇伦国产熟女老妇视频| 奇米精品一区二区三区在线观看| 国产精品久久久av久久久| 91丨九色丨海角社区| 日韩二区三区四区| 国产精品热视频| 在线黄色av网站| 九九热在线视频观看这里只有精品| 国产精品入口夜色视频大尺度| 国产精品成人无码| 另类成人小视频在线| 成人性生交大片免费看视频直播| 亚洲一级在线播放| 国产一区二区久久| 成人自拍网站| 亚洲三级黄色片| 久久久噜噜噜久久中文字幕色伊伊| 欧美一区免费视频| 在线播放日本| 一区二区三区国产| 欧美日韩黄色一级片| 怡红院成人在线| 欧美无乱码久久久免费午夜一区| 日韩av片专区| 国产精品网址| 在线电影中文日韩| 免费看一级一片| 久久激情综合| 成人亚洲激情网| 婷婷丁香花五月天| 亚洲国产高清在线观看视频| 六月婷婷激情网| 极品美鲍一区| 在线不卡a资源高清| 中文字幕55页| 自拍视频一区| 久久成人精品电影| 亚洲黄色小说图片| 狠狠网亚洲精品| 精品国产中文字幕| 欧美一级二级三级区| 午夜在线电影亚洲一区| 在线视频日韩一区| 第四色中文综合网| 色偷偷亚洲男人天堂| 国产乡下妇女做爰毛片| 久久黄色级2电影| 国产一区在线免费| 日本视频在线| 欧美网站在线观看| 深爱五月综合网| 亚洲资源网你懂的| 久久99精品久久久久久噜噜| 中文字幕乱码人妻无码久久| eeuss鲁片一区二区三区在线观看| 日韩三级电影网站| 精品捆绑调教一区二区三区| 91精品久久久久久久91蜜桃| 中文字幕一区二区人妻在线不卡| 欧美国产综合| 国产伦精品免费视频| 日韩精品系列| 亚洲午夜在线视频| 日本中文字幕在线不卡| 日韩成人激情| 国产成人精品免费视频| 香蕉视频黄色片| 一区二区在线电影| 一级做a免费视频| 欧美人与拘性视交免费看| 欧美国产乱视频| 国产女人18毛片水18精| 国产精品女主播av| 性欧美极品xxxx欧美一区二区| 青青草久久爱| 久久久久久久久久久免费| 91在线观看喷潮| 亚洲国产精品黑人久久久| 黄色片视频在线免费观看| 国产精品99久久免费观看| 欧美精品一二区| 91亚洲国产成人精品一区| 国产精品日产欧美久久久久| 狠狠操精品视频| 久久99精品久久久久久园产越南| 高清视频欧美一级| 亚洲免费黄色片| 一区二区三区在线影院| 少妇愉情理伦片bd| 午夜天堂精品久久久久| av一区二区三区四区电影| 国产福利在线播放麻豆| 6080日韩午夜伦伦午夜伦| jizzjizzjizz国产| 久久99精品国产麻豆婷婷| 亚洲精品一卡二卡三卡四卡| a屁视频一区二区三区四区| 尤物精品国产第一福利三区| 福利网址在线观看| 国产亚洲成av人在线观看导航 | 你懂得在线观看| 久草中文综合在线| 福利网在线观看| 精品视频在线观看免费观看| 九九热最新视频//这里只有精品 | 黄色一级视频免费观看| 国产激情一区二区三区四区 | xxx在线播放| 天堂成人免费av电影一区| 日韩在线观看电影完整版高清免费| 日日av拍夜夜添久久免费| 一区二区欧美在线| 97精品久久人人爽人人爽| 亚洲欧美日韩在线不卡| 天天躁日日躁狠狠躁av麻豆男男 | 国产色视频在线播放| 久久久久蜜桃| 激情五月综合色婷婷一区二区 | 伊人久久久久久久久| 亚洲毛片视频| 日韩一区二区三区高清| 成人精品在线| 88xx成人精品| 色综合久久影院| 精品久久久久一区二区国产| 精品欧美一区二区三区免费观看| 久久久久免费观看| 久久久精品高清| 欧美午夜影院| 欧美视频1区| 国产一区二区在线观| 韩国精品美女www爽爽爽视频| 久蕉依人在线视频| 日韩一级成人av| 毛片在线免费视频| 亚洲天堂免费看| 精品人妻一区二区三区日产乱码卜| 日本vs亚洲vs韩国一区三区二区| 99视频精品全部免费看| 婷婷亚洲精品| 亚洲一区二区在线播放| 最新日韩精品| 久久91精品国产91久久跳| 黄色免费在线播放| 精品久久人人做人人爽| 亚洲一级黄色大片| 日韩欧美亚洲成人| 波多野结衣在线网址| 久久久精品免费网站| 中文字幕 欧美 日韩| 青娱乐精品在线视频| 99在线免费视频观看| 日韩一区电影| 欧美日韩在线精品一区二区三区| 精品三级久久久| 国产精品美女久久久久av超清| 国产h片在线观看| 久久夜色精品国产欧美乱| 欧美女同网站| 亚洲成人动漫在线播放| 国产乱色精品成人免费视频| 91成人免费电影| 久久久久久久极品| 亚洲午夜日本在线观看| 欧美黄色aaa| 国产精品女上位| 受虐m奴xxx在线观看| 成人一级黄色片| 色哟哟网站在线观看| 久久99精品国产.久久久久| 无遮挡又爽又刺激的视频| 亚洲精品1区2区| 免费看欧美一级片| 中文字幕亚洲精品乱码| 亚洲午夜高清视频| 成人写真视频| 日韩免费三级| 欧美视频免费| 视频一区视频二区视频| 综合伊思人在钱三区| 精品毛片久久久久久| 国产精品高潮呻吟久久久久 | 亚洲肉体裸体xxxx137| 黑人另类av| 国产乱人伦丫前精品视频| 97人人模人人爽人人少妇| 欧美a在线观看| 99伊人久久| y111111国产精品久久久| 99视频在线播放| 国内精品麻豆美女在线播放视频 | 国精品人妻无码一区二区三区喝尿| 欧美一区二区视频在线观看2020 | 视频三区二区一区| 日韩国产一区| 懂色av粉嫩av蜜臀av| 亚洲最新色图| 国产视频在线观看网站| 亚洲精品1234| 韩国一区二区av| 日韩精品电影在线| 欧美一级xxxx| 国产乱对白刺激视频不卡| 韩国三级hd中文字幕有哪些| 岛国一区二区三区| 制服丝袜第二页| 欧美激情综合五月色丁香| 你懂得在线观看| 亚洲影院免费观看| 国产精品久久久久久久妇| 色呦呦日韩精品| 亚洲天堂狠狠干| 日韩视频在线观看一区二区| 欧洲精品久久一区二区| 亚洲欧美国产精品| av成人手机在线| 欧美成人在线免费视频| www.综合网.com| 国产成人精品网站| 91国产精品| 国产精品久久久久免费| 久久爱www成人| 伊人色综合久久天天五月婷| 在线播放日韩| www.涩涩涩| 成人av网站免费| 性猛交娇小69hd| 亚洲免费三区一区二区| av中文在线播放| 欧美人成免费网站| 日韩性xxxx| 日韩中文在线观看| 蜜桃av在线| 91九色国产在线| 天堂俺去俺来也www久久婷婷| 伊人久久大香线蕉av一区| 国产精品啊v在线| 男女污污的视频| 成人精品电影在线观看| 高清国产在线观看| 亚洲国产va精品久久久不卡综合| a片在线免费观看| 亚洲成人av在线| 免费**毛片在线| 日韩av手机在线看| 999国产精品一区| 亚洲一区三区在线观看| 99这里有精品| 永久免费看片在线观看| 亚洲国产高清在线观看视频| 好吊操这里只有精品| 91精品欧美久久久久久动漫 | 国内精品在线观看视频| 九一久久久久久| 老熟妇一区二区| 粉嫩老牛aⅴ一区二区三区| 国产成人精品白浆久久69| 尤物九九久久国产精品的分类| 蜜桃麻豆影像在线观看| 俄罗斯精品一区二区| 国产精品99久久精品| 波多野结衣天堂| 99re成人精品视频| 久久久久噜噜噜亚洲熟女综合| 欧美伦理视频网站| 第一福利在线| 欧洲中文字幕国产精品| 欧美尿孔扩张虐视频| 中文精品无码中文字幕无码专区| 狠狠色丁香久久婷婷综| 丁香激情五月少妇| 色综合久久久久网| 亚洲色图另类小说| 久久人91精品久久久久久不卡| 日韩三级不卡| 2025韩国大尺度电影| 久久99久久精品欧美| 亚洲黄色网址大全| 在线观看日韩毛片| 懂色av中文在线| 国产精品久久999| 成人精品亚洲| 色免费在线视频| 欧美国产一区二区| a片在线免费观看| 中日韩美女免费视频网站在线观看| 成人性生活视频| 欧美日韩天天操| 日韩高清不卡一区二区| 日本理论中文字幕| 欧美自拍偷拍一区| sese一区| 成人福利视频在线观看| 66久久国产| 国产人妖在线观看| 亚洲国产日韩在线一区模特 | 伊人久久综合97精品| 午夜激情成人网| 亚洲午夜激情| 国产专区综合网| 久久成人国产精品入口| 欧美精品一区二区三区蜜桃| 三级中文字幕在线观看| 欧美一级爱爱| 激情综合色丁香一区二区| 免费国产羞羞网站美图| 欧美成人乱码一区二区三区| 女人高潮被爽到呻吟在线观看| 欧美日韩在线播放一区二区| 美女视频网站久久| 人妻人人澡人人添人人爽| 精品免费99久久| 韩国美女久久| 一本一道久久久a久久久精品91 | 91免费的视频在线播放| 国产精品hd| 欧美图片一区二区| 欧美日韩一区二区欧美激情 | 米奇777超碰欧美日韩亚洲| 在线观看av日韩| 一区二区三区丝袜| 青青操在线视频| 成人免费直播live| 亚洲精品日本| 992在线观看| 亚洲第一综合天堂另类专| 欧亚一区二区| 欧美国产视频一区| 国产日韩欧美a| 精品国自产在线观看| 8050国产精品久久久久久| 久久成人综合| 小毛片在线观看| 欧美精品色一区二区三区| 欧美日韩国产观看视频| 中文字幕乱码一区二区三区| av电影在线观看一区| 97av免费视频| 97在线免费观看| 亚洲高清影视|