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

一篇好文,助你上手 Glide

開發(fā) 開發(fā)工具
Glide 現(xiàn)在大范圍的使用在各種商業(yè)項(xiàng)目中,而對于一般而言, Glide 的 Api 封裝的非常好,多數(shù)情況下我們只需要使用它,在使用的基礎(chǔ)之上,才考慮如何了解它。

一、前言

Glide 現(xiàn)在大范圍的使用在各種商業(yè)項(xiàng)目中,而對于一般而言, Glide 的 Api 封裝的非常好,多數(shù)情況下我們只需要使用它,在使用的基礎(chǔ)之上,才考慮如何了解它。

本文的目的是讓你如何快速上手 Glide 3.x ,來快速投入開發(fā),本文力求做到快速上手,所以只講在上手的時候,你需要關(guān)注的。

本文最開始只是想做一個簡短的快速上手的教程,但是在寫的過程中,越寫越長。但是內(nèi)容都是我覺得必須要講清楚的,所以如果想要快速上手 Glide,請耐心閱讀。

二、簡單使用

2.1 什么是 Glide ?

既然要用到 Glide ,那就先簡單的介紹一下 Glide 。

Glide 簡單來說就是一個 Google 主導(dǎo)的圖片加載開源庫。它穩(wěn)定、速度快、可自適應(yīng)圖片尺寸、支持眾多格式、支持加載不同來源的圖片、內(nèi)存和磁盤緩存的優(yōu)化。這些,都是它的好處(當(dāng)然不止這些),這里就不一一細(xì)說了。

你只需要知道,它是一款主流的圖片加載庫即可,它包含了你能想到的所有功能,并且支持?jǐn)U展。

Glide 的 Github 地址:

https://github.com/bumptech/glide

2.2 在項(xiàng)目內(nèi)集成 Glide

雖然它已經(jīng)到 v4.x 了,但是本文還是就最常用的 v3.8.0 版本的集成,做一個簡單的介紹。

集成的方式有多種,可以直接引用 jar 包,也可以使用 Maven,這里還是使用主流的 Gradle 來集成它。

如果需要配置混淆,還需要在混淆文件中區(qū)分 Glide 。

Glide 只是一個圖片加載庫,而大多數(shù)情況下,我們的圖片均來自互聯(lián)網(wǎng)。所以它的網(wǎng)絡(luò)請求庫,其實(shí)是可以配置的,Glide 可以支持 OkHttp 和 Volley 。

這里使用的另外一個優(yōu)秀的網(wǎng)絡(luò)請求庫 OkHttp 來做支持。

配好 Glide ,我們就可以開始使用它了。

2.3 最簡單的使用

Glide 是支持鏈?zhǔn)秸{(diào)用的,但是它不是簡單的在每個方法中,返回 this ,它更復(fù)雜一些,后面會講到,所以通常使用它只需要使用一條語句即可。

這是一個最簡單的 Glide 的 Demo,使用它即可從網(wǎng)絡(luò)上加載一張圖片到一個 ImageView 中去顯示。

三、Glide 需要了解的內(nèi)容

前面的例子可以看到,實(shí)際上 Glide 的鏈?zhǔn)秸{(diào)用,它的主要方法就是三個,先來簡單看看他們.

with : 主要是傳遞一個 Glide 可用的 Context,它和生命周期相關(guān)。

load:接收一個待加載的圖片資源,可支持多種格式。

into;指定加載的圖片的最終使用目標(biāo)對象,例如可以是一個 ImageView。

這三個主要的部分,貫穿了 Glide 使用的主要重點(diǎn)內(nèi)容,接下來讓我們好好看看他們。

3.1 with()

前面提到,這里的 with() 方法用于給 Glide 傳遞一個 Context 對象,它可以支持多種 Context。

對于 with 而言,它會返回一個 RequestManager 用于管理請求,而它接收的這些不同的 Context ,并不是為了讓我們方便使用,而是會對當(dāng)前 Context 的生命周期做監(jiān)聽,來管理 Glide 自身的圖片加載的請求。

舉個例子:當(dāng)使用 with(Activity) 的時候,如果此時當(dāng)前 Activity 被關(guān)閉掉了,那么 Glide 就會將這個 Activity 下所有的圖片請求停止掉。也就是實(shí)現(xiàn)了 Glide 和 頁面聲明周期的綁定,來優(yōu)化 Glide 自身的請求策略。

所以,在使用 Glide 的時候,盡量使用當(dāng)前頁面的 Activity ,而非直接傳遞一個 Context 進(jìn)去。盡量小的選擇 Context 的范圍,他們的推薦優(yōu)先級為:

Fragment > Activity > Context

3.2 load()

load() 方法,就是去指定一個待加載的資源,它支持很多格式和資源種類。例如:網(wǎng)絡(luò)地址、本地文件、Drawable 等,它都是可以做到很好的加載的。

load() 方法,并不是在 Glide 中,前面也提到 with() 會返回一個 RequestManager 對象,load() 方法在它內(nèi)部實(shí)現(xiàn)。

具體 load() 方法,支持的資源種類,可以看到它方法的重載,基本上我們能想到的,它都支持。

有意思的是 load() 方法,它返回的是另外一個 DrawableTypeRequest 對象。

3.3 into()

into() 方法,用于指定加載的圖片資源,最終給誰來使用。這個沒什么好說的,加載的圖片,最終一定是用來顯示的,所以它需要指定一個使用圖片的對象。

into() 實(shí)際上是 DrawableTypeRequest 中的方法,DrawableTypeRequest 是一個多層繼承的類,它實(shí)際上自己是沒有對 into() 方法的實(shí)現(xiàn)的,大部分實(shí)現(xiàn)都是在其父類 DrawableRequestBuilder 和 父類的父類 GenericRequestBuilder 中的,但是這并不影響我們使用它。

從方法的簽名,可以看到 into() 不只是可以接受一個 ImageView ,也可以是一些其他的什么。這也很好理解,在項(xiàng)目內(nèi),也不僅僅只有 ImageView 可以用來顯示圖片,View 的 background 也是可以用于顯示圖片的。

除了 ImageView 前面已經(jīng)介紹過了,直接使用即可。剩下的后面會有講到。

四、Glide 的使用細(xì)節(jié)

既然 Glide 使用過程中,最重要的三個方法已經(jīng)介紹過了,他們是 Glide 能完成功能的基礎(chǔ),接下來,就開始介紹 Glide 的使用細(xì)節(jié),來見證 Glide 的強(qiáng)大。

本節(jié)介紹的 Glide 的使用細(xì)節(jié),基本上都是與 load() 方法返回的 DrawableTypeRequest 對象進(jìn)行操作,對其進(jìn)行一些配置。

4.1 不同狀態(tài)的占位圖

在圖片加載的過程中,會經(jīng)歷過多過程,例如:加載中、加載失敗等等,在這些過程中,其實(shí)是可以為暫時為 ImageView 設(shè)置一個占位的的,來定制加載中、加載失敗這種狀態(tài)的顯示效果。

Glide 定制的占位圖,有三種:

  • placeholder :指定加載前顯示的圖片資源。
  • error:指定加載失敗顯示的圖片資源。
  • fallback:指定傳遞加載資源為 null 的時候,顯示的圖片資源。

例如上面的例子中,其實(shí) fallback() 是無需指定的,因?yàn)?imageUri 是不可能為 null 的。而其他的,都會在不同的階段顯示出來,加載前會顯示 load_placeholder ,如果加載失敗了,會顯示 load_error 。

注意,不同狀態(tài)的占位圖,實(shí)際上是一種容錯的表現(xiàn),所以只能用于加載一個『本地資源』,允許傳遞一個 @DrawableId 或者 Drawable 對象。

4.2 縮放控制

某些時候,因?yàn)閳D片的尺寸和控件的尺寸,不一定能匹配,所以會對圖片的顯示效果,進(jìn)行一些縮放,而大多數(shù)情況下,這種默認(rèn)的縮放策略,并不是我們想要的。

Glide 提供了一些方法來控制縮放的效果。

  • centerCrop()
  • fitCenter()

這兩個方法和 ImageView.setScaleType() 中傳遞的參數(shù)效果類似,就不再一一贅述了。

4.3 緩存控制

現(xiàn)在基本上所有的圖片加載庫,都是遵照三級緩存的策略:網(wǎng)絡(luò)、磁盤、內(nèi)存。Glide 也是如此,并且默認(rèn)情況下,為了更好的體驗(yàn),這些緩存都是全部開啟的。

就 Glide 的緩存策略而言,其實(shí)我們也是有辦法去調(diào)整的。

對于內(nèi)存緩存而言,只有有或者沒有的情況,所以 Glide 只提供了一個 skipMemoryCache() 方法,它可以傳遞一個 Boolean 的值,用于指定是否跳過磁盤緩存,默認(rèn)情況下是 false ,表示需要內(nèi)存緩存。

但是對于磁盤緩存,就會更復(fù)雜一些。Glide 為了保證效率,實(shí)際上默認(rèn)情況下是會去緩存多種尺寸的圖片在磁盤上的,也就是說,對于同一個 Uri,如果你在不同尺寸的 ImageView 中使用到它了,默認(rèn)情況下,在你設(shè)備的磁盤上,也會有多張不同尺寸的圖片。這樣是為了下次加載的時候,速度更快,無需再對原圖進(jìn)行處理,是一種以空間換效率的策略。

而如果我們需要對磁盤緩存進(jìn)行調(diào)節(jié),就需要使用 diskCacheStrategy() 方法來改變它,前面提到它是一種比較復(fù)雜的策略,所以無法簡單的使用一個 Boolean 值就完成了。它需要傳遞一個DiskCacheStrategy 的枚舉類型。

可以看到,它實(shí)際上是通過兩個參數(shù)來標(biāo)記磁盤緩存的策略的。

  • ALL:緩存所有類型的圖片(默認(rèn)行為)。
  • NONE :禁用磁盤緩存。
  • SOURCE : 只緩存全尺寸的原圖。
  • RESULT :只緩存壓縮后的圖片。

所以具體使用那種,就需要看當(dāng)前加載的圖片屬于哪一種了。

上面的例子就是忽略內(nèi)存緩存,并且磁盤只緩存原圖的策略。

4.4 加載優(yōu)先級

對于同一個頁面,如果需要在多個地方都加載線上圖片,必然會存在一個優(yōu)先級的問題。例如:正常來說,背景圖是比其他圖片優(yōu)先級更高的圖片。

Glide 是可以在加載中,對當(dāng)前加載的圖片,調(diào)整加載的優(yōu)先級的。需要使用 priority() 方法,它可以接受一個 Priority 的枚舉類型,包含四種值:LOW(低)、HIGH(高)、NORMAL(普通)、IMMEDIATE(立即)。

可以在我們需要的時候,對其進(jìn)行配置,但是它并不影響用 Glide 加載的圖片的顯示順序,只是用于 Glide 在加載圖片的時候一個優(yōu)化請求的參數(shù)而已,并不影響最終顯示的順序。

4.5 載入動畫

Glide 在顯示圖片的時候,為了讓顯示效果不那么突兀,會以一種更柔和的方式去顯示,就會在加載的時候給一個動畫效果,它可以使用 crossFade() 方法進(jìn)行配置,如果不特殊處理,默認(rèn)它是開啟的,并且本身默認(rèn)動畫的時長是 300ms。

crossFade() 也是有多個重載的,主要是為了指定動畫以及動畫的時長。如果有心,也可以看看 crossFade() 的源碼,它實(shí)際上只是對 animate() 方法的一個包裝而已,后面會講到。

而 crossFade() 的效果是默認(rèn)開啟的,所以如果我們不需要這樣的一個動畫效果,可以使用 dontAnimate() 來禁用動畫效果。

有一些情況下,crossFade() 方法并不能滿足我們的需求。如果對加載的動畫有特殊的定制需要,可以使用更靈活的 animate() 方法來自己實(shí)現(xiàn)動畫。

可以看到,animate() 支持多種格式的動畫的配置,對于動畫的效果,這里就不一一講解了。

4.6 支持 Gif & 視頻

Glide 的一個非常棒的功能,就是可以支持 Gif,并且使用起來和正常的想要加載一張網(wǎng)絡(luò)上的圖片,并沒有什么區(qū)別。

上面的例子中,會在 mBgImageView 中顯示 Gif 圖的效果,并且自動播放,并且可以在加載前為其設(shè)置一個占位圖,這些都和加載一個普通的圖片沒有什么區(qū)別。

但是有時候我們需要對加載的 Gif 圖做一個檢查,例如校驗(yàn)它是否是一個 Gif ,如果不是,則認(rèn)為是一次錯誤的加載。這個時候就可以使用 asGif() 來進(jìn)行校驗(yàn),如果當(dāng)前加載的圖片不是一個正確的 Gif 格式,則會去顯示 error() 配置的圖片。

當(dāng)然,有時候我們可能只是為了顯示一張圖片,可以強(qiáng)制顯示 Gif 圖片的***幀,使用 asBitmap() 方法標(biāo)記即可。

只需要將 asGif() 替換成 asBitmap() 就餓可以了,這里不再單獨(dú)提供示例了。

Glide 對 Gif 的支持之外,提示還對 Video 格式的文件也進(jìn)行了支持。但是它和 Gif 顯示的效果不一樣的一點(diǎn)在于,它并不會去播放視頻文件,而只是將視頻文件的***幀做為一個圖片去顯示出來。如果依然想要播放一段視頻文件,使用 Glide 不是一個好注意,你應(yīng)該使用 VideoView。

其次 Glide 對視頻的支持,僅限于本地視頻,并無法對網(wǎng)絡(luò)視頻進(jìn)行支持。

4.7 加載監(jiān)聽

如果有對 Glide 加載的圖片的結(jié)果進(jìn)行監(jiān)聽的,可以使用 listener() 方法設(shè)置一個監(jiān)聽器,它接收一個 RequestListener 的接口

一般而言,如果我們需要監(jiān)聽圖片加載錯誤的原因,可以在 onException() 中做處理。

需要注意的是,這兩個方法的返回值,***都是 false,因?yàn)槿绻祷?true ,將表示你已經(jīng)處理了這次的事件,而 Glide 將不會再做額外的處理。例如,如果 onException() 返回了 true 的話,在圖片加載失敗之后,error() 中設(shè)置的圖片,并不會被顯示,因?yàn)? Glide 認(rèn)為開發(fā)者已經(jīng)在外部對這個錯誤進(jìn)行了處理。

4.8 變換加載的圖片

對于使用 Glide 加載的圖片,如果想要在其顯示之前,對其進(jìn)行一些變換操作,例如,改變顏色、虛化、圓角子類的,都需要用到 transfrom() 方法,它主要用于支持在圖片顯示之前,自定義的變換效果。

變換有兩個方法:

  • transfrom():它可以添加一個通用的變換效果。
  • bitmapTransfrom():限制了變換的類型,只能設(shè)置 Bitmap 的變換。

變換這種操作,其實(shí)定制性非常的強(qiáng),展開講就比較復(fù)雜了,大家只需要知道,Glide 是可以對加載的圖片在顯示之前進(jìn)行一些預(yù)處理的操作的,在具體使用的時候再回頭來看相關(guān)資料即可。

這里推薦一個開源的庫,來支持大多數(shù)變換的效果。

Github 地址:

https://github.com/wasabeef/glide-transformations

4.9 into() 其他實(shí)現(xiàn)

前面所有的例子中,into() 方法作為 Glide 加載圖片流程的***一個環(huán)節(jié),它不僅僅只能支持一個 ImageView。有時候我們還需要給 View 中設(shè)置一個背景的需要,這個使用 Glide 也是可以辦到的,但是就需要用到 into() 方法的其他重載方法了。

撇開 into(ImageView) 不說,into(int,int) 實(shí)際上是一個指定尺寸的同步方法,可以在子線程中,通過它來得到一個 GlideDrawable 對象。

但是這并不是很常用的場景,大部分我們還是使用泛型的方式來使用 Glide 的。

它的完整簽名可以看出,它實(shí)際上接收的是一個 Target 對象,而 Glide 同時也提供了非常多的 Target 的子類。

這些子類里面,有一些是不常用的,例如 AppWidgetTarget 和 NotificationTarget 就是為了 AppWidget 和 Notification 中加載圖片準(zhǔn)備的。這里只介紹兩個比較常用的 Target :SimpleTarget 和 ViewTarget ,其實(shí)使用起來都是大同小異。

如果我們不關(guān)心圖片加載的用途,只是單純的需要加載一個 Bitmap 或者 Drawable ,就可以使用 SimpleTarget 來處理。

SimpleTarget 可以接受一個 GlideDrawable 或者 Bitmap 的類型作為加載的類型。如果需要指定加載的圖片尺寸,還可以在構(gòu)造方法中指定,如果不對其進(jìn)行指定,則加載的是圖片的原尺寸。

再來看看 ViewTarget, 從名稱上可以才出來,它實(shí)際上是想讓 Glide 加載一個圖片資源給某個 View 使用。它可以解決有時候我們顯示圖片的 View 并不是一個 ImageView 的問題,也可能是一個 View 的背景。

ViewTarget 需要指定 View 的類型,以及加載的資源類型,這里直接使用的 View 和 GlideDrawable ,然后將我們需要的使用圖片的目標(biāo) View 當(dāng)構(gòu)造參數(shù)傳遞進(jìn)去即可,最終它它會一個內(nèi)部 view 變量去持有它,供之后使用。

在 onResourceReady() 這個回調(diào)方法中,直接按我們的需要使用 GlideDrawable 和 View 即可。

如果是需要在非 ImageView 的其他 View 上使用圖片,推薦使用 ViewTarget 。它內(nèi)部是會去計(jì)算 View 的尺寸,來優(yōu)化緩存的圖片。和加載 ImageView 的效果是一樣的,如果使用 SimpleTarget 就需要考慮到 View 的尺寸問題了。

在使用 Target 的時候,還有一點(diǎn)需要額外注意的。

前面也提到,Glide 此次加載的圖片生命周期,會和 with() 傳遞進(jìn)去的 Context 的生命周期進(jìn)行綁定,所以使用 Target 加載圖片的時候,就需要額外注意了,如果不是和頁面綁定的圖片資源,可以使用 ApplicationContext() ,避免當(dāng)前頁面被銷毀之后,加載的請求也被停止了。

五、小結(jié)

本文最開始只是想要做一個適合初學(xué)者快速上手的 Glide 使用手冊,但是越寫越長,讀到這里相信你也能有所收獲,之后如果覺得有寫概念也需要初學(xué)者了解,會繼續(xù)補(bǔ)充。

【本文為51CTO專欄作者“張旸”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2025-01-17 07:00:00

2022-02-24 07:56:42

開發(fā)Viteesbuild

2021-02-24 08:32:45

Web Compone前端Web 應(yīng)用

2020-09-28 17:45:03

Vue.js 3.0前端代碼

2022-03-03 22:00:19

Hooks函數(shù)組件React

2020-09-29 08:26:17

Vue3中新增的API

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-01-02 08:43:46

Python

2022-10-26 07:39:36

MVCC數(shù)據(jù)庫RR

2022-12-19 08:14:30

注解開發(fā)配置

2025-11-18 08:46:00

大模型強(qiáng)化學(xué)習(xí)Meta

2021-05-20 06:57:16

RabbitMQ開源消息

2023-04-20 08:00:00

ES搜索引擎MySQL

2022-02-07 11:01:23

ZooKeeper

2021-09-16 11:32:19

組合總和

2023-09-21 08:05:49

Mybatis插件開發(fā)

2021-07-06 08:59:18

抽象工廠模式

2021-07-05 22:11:38

MySQL體系架構(gòu)

2021-05-11 08:54:59

建造者模式設(shè)計(jì)

2023-11-28 08:29:31

Rust內(nèi)存布局
點(diǎn)贊
收藏

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

秋霞在线一区| 自拍偷拍第八页| 高清欧美性猛交xxxx黑人猛| 亚洲国产日韩一区二区| 欧美国产二区| 国产免费无遮挡| 亚洲美女少妇无套啪啪呻吟| 国产亚洲成精品久久| 手机免费av片| 国产福利片在线观看| 国产日韩欧美一区二区三区综合 | 中文字幕第69页| 日韩欧美中文字幕一区二区三区| 精品久久久久久| 亚洲一区二三| 亚洲av毛片成人精品| 麻豆成人免费电影| 性欧美xxxx视频在线观看| 久久日免费视频| 国产精品一线| 欧美巨大另类极品videosbest| 每日在线观看av| 一级日本在线| 2020国产精品| 国产欧美在线一区二区| 国产精品日韩无码| 日本一不卡视频| 午夜精品久久久99热福利| 免费黄色激情视频| 九一亚洲精品| 日韩禁在线播放| 欧美久久久久久久久久久| 成人在线免费av| 色丁香久综合在线久综合在线观看| 国产九色porny| 成人日日夜夜| 亚洲欧洲日韩av| 亚洲国产欧美日韩| 日韩一二三四| hitomi一区二区三区精品| 91色在线视频| 91麻豆成人精品国产| 日韩国产成人精品| 国产激情一区二区三区桃花岛亚洲| 精品粉嫩aⅴ一区二区三区四区| 色综合手机在线| 日本三级一区| 亚洲aⅴ怡春院| 亚洲色欲久久久综合网东京热| 日本在线免费| 综合在线观看色| 亚洲精品成人自拍| 国产精品影院在线| 欧美激情中文不卡| 日本不卡一区二区三区视频| 欧美老女人性开放| 久久综合色一综合色88| 国产欧美日韩综合一区在线观看 | 男女男精品视频| 日本三级韩国三级久久| 国产一级做a爱片久久毛片a| 亚洲美女网站| 茄子视频成人在线| 国产午夜免费福利| 国产亚洲在线观看| 青青久久aⅴ北条麻妃| 狠狠人妻久久久久久| 久久久蜜桃一区二区人| 国产suv精品一区二区| 欧美超碰在线观看| 另类成人小视频在线| 成人午夜激情网| 国产成人免费看一级大黄| 国产精品1区2区| 国产91视觉| 欧美少妇另类| 国产精品卡一卡二| 今天免费高清在线观看国语| 2020国产在线| 在线精品视频免费播放| xxww在线观看| 亚洲国产视频二区| 日韩精品中文字幕在线观看| 国产毛片久久久久久久| 日本欧美肥老太交大片| 欧美成人中文字幕| 毛片在线免费视频| 麻豆传媒一区二区三区| 国产 高清 精品 在线 a| 欧洲天堂在线观看| 亚洲女与黑人做爰| 北条麻妃在线视频观看| 国产国产一区| 亚洲国产精品大全| 精品无码在线观看| 国产精品激情电影| 国产精品夫妻激情| 亚洲国产精品18久久久久久| 久久久久久久久岛国免费| 一本一道久久久a久久久精品91| 国产美女福利在线观看| 在线欧美日韩精品| 久草免费资源站| 日韩国产一区| 欧美亚洲午夜视频在线观看| 91久久精品无码一区二区| 91丨九色丨国产丨porny| 一区二区视频在线免费| 美女的胸无遮挡在线观看| 欧美精品乱码久久久久久| 波多野结衣一二三区| 99久久99久久精品国产片桃花 | 亚洲女人天堂av| 欧美做爰爽爽爽爽爽爽| 天堂资源在线中文精品| 国产精品theporn88| 麻豆免费在线视频| 色综合天天性综合| 亚洲一区二区三区四区av| 欧美成人milf| 国产精品xxxxx| 亚洲色图欧美视频| 夜色激情一区二区| 国产女同无遮挡互慰高潮91| 国产中文字幕一区二区三区| 久久免费国产精品1| av中文字幕免费在线观看| 久久久亚洲精品一区二区三区| 日韩 欧美 视频| 日本精品一区二区三区在线观看视频| 最近的2019中文字幕免费一页| 天天综合天天干| 成人午夜在线播放| 国产成人亚洲综合无码| 日韩欧美中文字幕一区二区三区| 久久精品国产免费观看| 中文字幕在线观看视频一区| 久久精品一区四区| 欧美女人性生活视频| 久久狠狠久久| 欧美精品激情视频| 亚洲第一天堂网| 亚洲美女免费视频| 91香蕉视频免费看| 欧美91福利在线观看| 成人午夜小视频| 成人影院在线看| 欧美一区二区三区播放老司机| 五月综合色婷婷| 久久99国内精品| 香蕉视频在线网址| 日韩在线视频一区二区三区| 欧美成人在线网站| www.五月婷婷| 午夜激情久久久| 亚洲色图14p| 久久av最新网址| 日韩精品福利视频| 欧美一级在线| 欧美成人激情视频免费观看| 国产成人久久精品77777综合| 一区二区视频在线| 在线黄色免费网站| 亚欧成人精品| 亚洲国产精品www| 看亚洲a级一级毛片| 欧美黑人一级爽快片淫片高清| 亚洲精品成人电影| 姬川优奈aav一区二区| 欧美bbbbb性bbbbb视频| 三级影片在线观看欧美日韩一区二区| 日本一区二区三区www| 香蕉久久一区| 久久久久久久亚洲精品| 免费黄网站在线观看| 欧美丝袜自拍制服另类| 婷婷在线精品视频| 不卡欧美aaaaa| 国产自偷自偷免费一区 | 精品视频国内| 韩国精品美女www爽爽爽视频| 黄色免费在线播放| 在线成人av影院| 国产在线综合网| 久久久综合网站| aaa一级黄色片| 99精品99| 中文字幕欧美日韩一区二区三区| 亚洲综合网站| 国产精品xxx视频| 天天色天天射天天综合网| 国产偷国产偷亚洲清高网站| 一卡二卡三卡在线| 亚洲大尺度视频在线观看| 日韩一区二区a片免费观看| 国产在线播放一区| 国产淫片av片久久久久久| 91成人免费| 久久一区二区三区欧美亚洲| 粉嫩一区二区三区在线观看| 456亚洲影院| 超碰超碰在线| 亚洲视频电影图片偷拍一区| 精品区在线观看| 欧美在线制服丝袜| 懂色av.com| 成人免费在线播放视频| 四虎永久免费影院| 国产成人综合网站| 色婷婷狠狠18| 国产一区二区三区久久久久久久久 | 久久久久久久久久久免费精品| 国产乱子伦三级在线播放| 亚洲第一精品夜夜躁人人躁 | 精品国产凹凸成av人网站| 国产精品高清无码| 欧美日韩中文字幕在线| 欧美日韩国产精品综合 | 亚洲第一精品福利| 国产乱码久久久| 91精品办公室少妇高潮对白| 日韩av片在线播放| 亚洲免费观看高清完整版在线观看 | 久久91精品国产| 免费黄网在线观看| 亚洲天堂开心观看| 爽爽视频在线观看| 精品捆绑美女sm三区| 国产精品视频一区二区三区,| 欧美日韩亚洲高清| 久久精品国产亚洲AV无码麻豆| 中文字幕一区二区三| 日本精品在线观看视频| 91色在线porny| 尤物网站在线观看| 岛国av在线一区| 国产欧美视频一区| 国产精品12区| 国产精品无码自拍| 国产精品99久久久久久久vr| 91精品国产三级| 国内精品不卡在线| 日韩欧美理论片| 国产综合色精品一区二区三区| 日本肉体xxxx裸体xxx免费| 日韩高清不卡一区二区| 91在线视频观看免费| 日欧美一区二区| 黄色片久久久久| 久久动漫亚洲| 波多野结衣家庭教师视频| 国产日本精品| 成人免费无码av| 日韩av电影天堂| 午夜剧场高清版免费观看 | 岛国av午夜精品| 国内精品福利视频| 一本大道久久a久久综合婷婷| 中文字幕免费在线观看视频| 99久久综合国产精品二区| 亚洲第一精品电影| 午夜性色福利视频| 日韩精品在线第一页| 香蕉久久国产av一区二区| 精品网站999www| 九色视频在线观看免费播放| 亚洲色图第一页| 婷婷激情在线| 欧美第一黄色网| 国产在线88av| 国产精品第100页| 高清一区二区中文字幕| 国产91aaa| 九九免费精品视频在线观看| 亚洲欧洲日本国产| 欧美日韩免费观看一区=区三区| 国产免费一区二区视频| 99成人精品| 超碰在线97免费| 国产乱子轮精品视频| 国产精品无码专区| 国产人久久人人人人爽| 日本福利片在线观看| 亚洲午夜久久久久久久久电影院| 成人午夜视频精品一区| 欧美色网一区二区| 国内精品偷拍视频| 国产视频精品久久久| 1pondo在线播放免费| 九九热在线精品视频| 中文字幕高清在线播放| 成人av在线天堂| 国产精品丝袜在线播放| 日韩成人在线资源| 正在播放日韩欧美一页| 欧美 日韩 国产一区| 激情综合色综合久久综合| 亚洲自拍偷拍精品| 日本一区二区三区免费乱视频 | 黄色av网站在线看| 蜜臀久久99精品久久久无需会员 | 成人午夜黄色影院| 亚洲图区在线| 日本成人在线不卡| 日韩av一级电影| 成人做爰www看视频软件 | 亚洲精品在线视频观看| 国色天香一区二区| www.这里只有精品| 91美女视频网站| 老妇女50岁三级| 欧美亚洲综合另类| 艳母动漫在线看| 高清视频欧美一级| 成人在线日韩| 欧美一级二级三级九九九| 国精品一区二区三区| 午夜免费福利视频在线观看| 91在线观看高清| 久久久久久国产精品免费播放| 欧美揉bbbbb揉bbbbb| 日本不卡免费播放| 欧美日产国产成人免费图片| 福利视频亚洲| 欧美一区二区高清在线观看| 影音先锋在线一区| 亚洲av毛片在线观看| 国产精品欧美综合在线| 日韩手机在线视频| 亚洲精品电影在线| 在线免费观看污| 国产主播喷水一区二区| 成人免费看片39| 午夜视频在线瓜伦| 久久蜜桃香蕉精品一区二区三区| 免费在线观看亚洲| 亚洲午夜一区二区| 亚洲国产精品久久久久婷婷老年 | 亚洲av无码国产精品麻豆天美| 亚洲综合偷拍欧美一区色| 在线免费av片| 亚洲丝袜一区在线| 国产欧美一区二区三区精品酒店| 国产精品久久久久久久免费大片| 午夜精品久久99蜜桃的功能介绍| 国产成人在线综合| 亚洲乱码中文字幕| av 一区二区三区| 欧美日韩国产999| 超碰在线亚洲| 日本a在线免费观看| 白白色 亚洲乱淫| 欧美亚洲精品天堂| 亚洲欧美日韩天堂| 免费高清视频在线一区| 色一情一乱一伦一区二区三区丨 | 日韩在线免费看| 日本亚洲欧美成人| 欧美亚洲国产精品久久| www.99av.com| 日韩码欧中文字| 精品国产免费无码久久久| 欧美日韩高清在线观看| 欧美三级电影在线| 91黄色小网站| 国产精品成人午夜| 亚洲国产精品久久人人爱潘金莲| 久久久久久久国产| 亚洲福利天堂| 天天插天天操天天射| 亚洲欧洲国产日本综合| www男人的天堂| 欧美亚洲视频在线观看| 日韩欧美不卡| 一区二区在线免费观看视频| 亚洲18色成人| 在线中文资源天堂| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 日韩少妇中文字幕| 国产一区二区在线看| 欧美成人aaaaⅴ片在线看| 亚洲欧美日韩天堂| 精品国产亚洲日本| 91专区在线观看| 中文一区二区在线观看| 国产精品毛片久久久久久久av| 久久久久久综合网天天| 国产小视频你懂的| 精品美女一区二区| 欧美日韩五码| 青青草视频在线视频| 久久色在线观看| 精品人妻伦一二三区久久| 奇米成人av国产一区二区三区| 欧美wwwww| 无码人妻精品一区二区三应用大全| 欧美日韩中文一区| 欧美日韩在线观看首页| 91xxx视频| 久久精品男人天堂av|