日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS开发ARC内存管理

發布時間:2025/3/15 编程问答 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS开发ARC内存管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文的主要內容:

  • ARC的本質
  • ARC的開啟與關閉
  • ARC的修飾符
  • ARC與Block
  • ARC與Toll-Free Bridging

ARC的本質


ARC是編譯器(時)特性,而不是運行時特性,更不是垃圾回收器(GC)。

Automatic Reference Counting (ARC) is a compiler-level feature that simplifies the process of managing object lifetimes (memory management) in Cocoa applications.

ARC只是相對于MRC(Manual Reference Counting或稱為非ARC,下文中我們會一直使用MRC來指代非ARC的管理方式)的一次改進,但它和之前的技術本質上沒有區別。具體信息可以參考ARC編譯器官方文檔。

ARC的開啟與關閉


不同于XCode4可以在創建工程時選擇關閉ARC,XCode5在創建的工程是默認開啟ARC,沒有可以關閉ARC的選項。

如果需要對特定文件開啟或關閉ARC,可以在工程選項中選擇Targets -> Compile Phases -> Compile Sources,在里面找到對應文件,添加flag:

  • 打開ARC:-fobjc-arc
  • 關閉ARC:-fno-objc-arc

如圖:

ARC的修飾符


ARC主要提供了4種修飾符,他們分別是:__strong,__weak,__autoreleasing,__unsafe_unretained。

__strong

表示引用為強引用。對應在定義property時的"strong"。所有對象只有當沒有任何一個強引用指向時,才會被釋放。

注意:如果在聲明引用時不加修飾符,那么引用將默認是強引用。當需要釋放強引用指向的對象時,需要將強引用置nil。

__weak

表示引用為弱引用。對應在定義property時用的"weak"。弱引用不會影響對象的釋放,即只要對象沒有任何強引用指向,即使有100個弱引用對象指向也沒用,該對象依然會被釋放。不過好在,對象在被釋放的同時,指向它的弱引用會自動被置nil,這個技術叫zeroing weak pointer。這樣有效得防止無效指針、野指針的產生。__weak一般用在delegate關系中防止循環引用或者用來修飾指向由Interface Builder編輯與生成的UI控件。

__autoreleasing

表示在autorelease pool中自動釋放對象的引用,和MRC時代autorelease的用法相同。定義property時不能使用這個修飾符,任何一個對象的property都不應該是autorelease型的。

一個常見的誤解是,在ARC中沒有autorelease,因為這樣一個“自動釋放”看起來好像有點多余。這個誤解可能源自于將ARC的“自動”和autorelease“自動”的混淆。其實你只要看一下每個iOS App的main.m文件就能知道,autorelease不僅好好的存在著,并且變得更fashion了:不需要再手工被創建,也不需要再顯式得調用[drain]方法釋放內存池。

以下兩行代碼的意義是相同的。

NSString *str = [[[NSString alloc] initWithFormat:@"hehe"] autorelease]; // MRC NSString *__autoreleasing str = [[NSString alloc] initWithFormat:@"hehe"]; // ARC

?這里關于autoreleasepool就不做展開了,詳細地信息可以參考官方文檔或者其他文章。

__autoreleasing在ARC中主要用在參數傳遞返回值(out-parameters)和引用傳遞參數(pass-by-reference)的情況下。

__autoreleasing?is used to denote arguments that are passed by reference (id *) and are autoreleased on return.

比如常用的NSError的使用:

NSError *__autoreleasing error;
if (![data writeToFile:filename options:NSDataWritingAtomic error:&error])
{
  NSLog(@"Error: %@", error);
}

(在上面的writeToFile方法中error參數的類型為(NSError *__autoreleasing *))

注意,如果你的error定義為了strong型,那么,編譯器會幫你隱式地做如下事情,保證最終傳入函數的參數依然是個__autoreleasing類型的引用。

NSError *error; NSError *__autoreleasing tempError = error; // 編譯器添加
if (![data writeToFile:filename options:NSDataWritingAtomic error:&tempError])
{
  error = tempError; // 編譯器添加
  NSLog(@"Error: %@", error);
}

所以為了提高效率,避免這種情況,我們一般在定義error的時候將其(老老實實地=。=)聲明為__autoreleasing類型的:

NSError *__autoreleasing error;

在這里,加上__autoreleasing之后,相當于在MRC中對返回值error做了如下事情:

*error = [[[NSError alloc] init] autorelease];

*error指向的對象在創建出來后,被放入到了autoreleasing pool中,等待使用結束后的自動釋放,函數外error的使用者并不需要關心*error指向對象的釋放。

另外一點,在ARC中,所有這種指針的指針 (NSError **)的函數參數如果不加修飾符,編譯器會默認將他們認定為__autoreleasing類型。

比如下面的兩段代碼是等同的:

- (NSString *)doSomething:(NSNumber **)value {// do something } - (NSString *)doSomething:(NSNumber * __autoreleasing *)value {// do something }

除非你顯式得給value聲明了__strong,否則value默認就是__autoreleasing的。

最后一點,某些類的方法會隱式地使用自己的autorelease pool,在這種時候使用__autoreleasing類型要特別小心。

比如NSDictionary的[enumerateKeysAndObjectsUsingBlock]方法:

- (void)loopThroughDictionary:(NSDictionary *)dict error:(NSError **)error {[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){// do stuff if (there is some error && error != nil){*error = [NSError errorWithDomain:@"MyError" code:1 userInfo:nil];} }]; }

會隱式地創建一個autorelease pool,上面代碼實際類似于:

- (void)loopThroughDictionary:(NSDictionary *)dict error:(NSError **)error {[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){@autoreleasepool // 被隱式創建{if (there is some error && error != nil){*error = [NSError errorWithDomain:@"MyError" code:1 userInfo:nil];}  }}];// *error 在這里已經被dict的做枚舉遍歷時創建的autorelease pool釋放掉了 :( }

為了能夠正常的使用*error,我們需要一個strong型的臨時引用,在dict的枚舉Block中是用這個臨時引用,保證引用指向的對象不會在出了dict的枚舉Block后被釋放,正確的方式如下:

- (void)loopThroughDictionary:(NSDictionary *)dict error:(NSError **)error {   __block NSError* tempError; // 加__block保證可以在Block內被修改
  [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
  {
    if (there is some error)
    {
      *tempError = [NSError errorWithDomain:@"MyError" code:1 userInfo:nil];
    } 

  }]

  if (error != nil)
  {
    *error = tempError;
  } 
}

__unsafe_unretained

ARC是在iOS 5引入的,而這個修飾符主要是為了在ARC剛發布時兼容iOS 4以及版本更低的設備,因為這些版本的設備沒有weak pointer system,簡單的理解這個系統就是我們上面講weak時提到的,能夠在weak引用指向對象被釋放后,把引用值自動設為nil的系統。這個修飾符在定義property時對應的是"unsafe_unretained",實際可以將它理解為MRC時代的assign:純粹只是將引用指向對象,沒有任何額外的操作,在指向對象被釋放時依然原原本本地指向原來被釋放的對象(所在的內存區域)。所以非常不安全。

現在可以完全忽略掉這個修飾符了,因為iOS 4早已退出歷史舞臺很多年。

*使用修飾符的正確姿勢(方式=。=)

這可能是很多人都不知道的一個問題,包括之前的我,但卻是一個特別要注意的問題。

蘋果的文檔中明確地寫道:

You should decorate variables correctly. When using qualifiers in an object variable declaration,

the correct format is:

ClassName * qualifier variableName;

按照這個說明,要定義一個weak型的NSString引用,它的寫法應該是:

NSString * __weak str = @"hehe"; // 正確!

而不應該是:

__weak NSString *str = @"hehe"; // 錯誤!

我相信很多人都和我一樣,從開始用ARC就一直用上面那種錯誤的寫法。

那這里就有疑問了,既然文檔說是錯誤的,為啥編譯器不報錯呢?文檔又解釋道:

Other variants are technically incorrect but are “forgiven” by the compiler. To understand the issue, seehttp://cdecl.org/.

好吧,看來是蘋果爸爸(=。=)考慮到很多人會用錯,所以在編譯器這邊貼心地幫我們忽略并處理掉了這個錯誤:)雖然不報錯,但是我們還是應該按照正確的方式去使用這些修飾符,如果你以前也常常用錯誤的寫法,那看到這里記得以后不要這么寫了,哪天編譯器怒了,再不支持錯誤的寫法,就要郁悶了。

棧中指針默認值為nil

無論是被strong,weak還是autoreleasing修飾,聲明在棧中的指針默認值都會是nil。所有這類型的指針不用再初始化的時候置nil了。雖然好習慣是最重要的,但是這個特性更加降低了“野指針”出現的可能性。

在ARC中,以下代碼會輸出null而不是crash:)

- (void)myMethod {NSString *name;NSLog(@"name: %@", name); }

ARC與Block


在MRC時代,Block會隱式地對進入其作用域內的對象(或者說被Block捕獲的指針指向的對象)加retain,來確保Block使用到該對象時,能夠正確的訪問。

這件事情在下面代碼展示的情況中要更加額外小心。

MyViewController *myController = [[MyViewController alloc] init…];// 隱式地調用[myController retain];造成循環引用 myController.completionHandler = ^(NSInteger result) {[myController dismissViewControllerAnimated:YES completion:nil]; };[self presentViewController:myController animated:YES completion:^{[myController release]; // 注意,這里調用[myController release];是在MRC中的一個常規寫法,并不能解決上面循環引用的問題 }];

在這段代碼中,myController的completionHandler調用了myController的方法[dismissViewController...],這時completionHandler會對myController做retain操作。而我們知道,myController對completionHandler也至少有一個retain(一般準確講是copy),這時就出現了在內存管理中最糟糕的情況:循環引用!簡單點說就是:myController retain了completionHandler,而completionHandler也retain了myController。循環引用導致了myController和completionHandler最終都不能被釋放。我們在delegate關系中,對delegate指針用weak就是為了避免這種問題。

不過好在,編譯器會及時地給我們一個警告,提醒我們可能會發生這類型的問題:

對這種情況,我們一般用如下方法解決:給要進入Block的指針加一個__block修飾符。

這個__block在MRC時代有兩個作用:

  • 說明變量可改
  • 說明指針指向的對象不做這個隱式的retain操作

一個變量如果不加__block,是不能在Block里面修改的,不過這里有一個例外:static的變量和全局變量不需要加__block就可以在Block中修改。

使用這種方法,我們對代碼做出修改,解決了循環引用的問題:

MyViewController * __block myController = [[MyViewController alloc] init…]; // ... myController.completionHandler = ^(NSInteger result) {[myController dismissViewControllerAnimated:YES completion:nil]; }; //之后正常的release或者retain

在ARC引入后,沒有了retain和release等操作,情況也發生了改變:在任何情況下,__block修飾符的作用只有上面的第一條:說明變量可改。即使加上了__block修飾符,一個被block捕獲的強引用也依然是一個強引用。這樣在ARC下,如果我們還按照MRC下的寫法,completionHandler對myController有一個強引用,而myController對completionHandler有一個強引用,這依然是循環引用,沒有解決問題:(

于是我們還需要對原代碼做修改。簡單的情況我們可以這樣寫:

__block MyViewController * myController = [[MyViewController alloc] init…]; // ... myController.completionHandler = ^(NSInteger result) {[myController dismissViewControllerAnimated:YES completion:nil];myController = nil; // 注意這里,保證了block結束myController強引用的解除 };

在completionHandler之后將myController指針置nil,保證了completionHandler對myController強引用的解除,不過也同時解除了myController對myController對象的強引用。這種方法過于簡單粗暴了,在大多數情況下,我們有更好的方法。

這個更好的方法就是使用weak。(或者為了考慮iOS4的兼容性用unsafe_unretained,具體用法和weak相同,考慮到現在iOS4設備可能已經絕跡了,這里就不講這個方法了)(關于這個方法的本質我們后面會談到)

為了保證completionHandler這個Block對myController沒有強引用,我們可以定義一個臨時的弱引用weakMyViewController來指向原myController的對象,并把這個弱引用傳入到Block內,這樣就保證了Block對myController持有的是一個弱引用,而不是一個強引用。如此,我們繼續修改代碼:

MyViewController *myController = [[MyViewController alloc] init…]; // ... MyViewController * __weak weakMyViewController = myController; myController.completionHandler = ^(NSInteger result) {[weakMyViewController dismissViewControllerAnimated:YES completion:nil]; };

這樣循環引用的問題就解決了,但是卻不幸地引入了一個新的問題:由于傳入completionHandler的是一個弱引用,那么當myController指向的對象在completionHandler被調用前釋放,那么completionHandler就不能正常的運作了。在一般的單線程環境中,這種問題出現的可能性不大,但是到了多線程環境,就很不好說了,所以我們需要繼續完善這個方法。

為了保證在Block內能夠訪問到正確的myController,我們在block內新定義一個強引用strongMyController來指向weakMyController指向的對象,這樣多了一個強引用,就能保證這個myController對象不會在completionHandler被調用前釋放掉了。于是,我們對代碼再次做出修改:

MyViewController *myController = [[MyViewController alloc] init…]; // ... MyViewController * __weak weakMyController = myController; myController.completionHandler = ^(NSInteger result) {MyViewController *strongMyController = weakMyController;

  if (strongMyController) {// ...[strongMyController dismissViewControllerAnimated:YES completion:nil];// ...}else {// Probably nothing...} };

到此,一個完善的解決方案就完成了:)

官方文檔對這個問題的說明到這里就結束了,但是可能很多朋友會有疑問,不是說不希望Block對原myController對象增加強引用么,這里為啥堂而皇之地在Block內新定義了一個強引用,這個強引用不會造成循環引用么?理解這個問題的關鍵在于理解被Block捕獲的引用和在Block內定義的引用的區別。為了搞得明白這個問題,這里需要了解一些Block的實現原理,但由于篇幅的緣故,本文在這里就不展開了,詳細的內容可以參考其他的文章,這里特別推薦唐巧的文章和另外2位作者的博文:這個和這個,講的都比較清楚。

這里假設大家已經對Block的實現原理有所了解了。我們就直入主題了!注意前方高能(=。=)

為了更清楚地說明問題,這里用一個簡單的程序舉例。比如我們有如下程序:

#include <stdio.h>int main() {int b = 10;int *a = &b;void (^blockFunc)() = ^(){int *c = a;};blockFunc();return 1; }

程序中,同為int型的指針,a是被Block捕獲的變量,而c是在Block內定義的變量。我們用clang -rewrite-objc處理后,可以看到如下代碼:

原main函數:

int main() {int b = 10;int *a = &b;void (*blockFunc)() = (void (*)())&__main_block_impl_0((void *)__main_block_func_0, &__main_block_desc_0_DATA, a);((void (*)(__block_impl *))((__block_impl *)blockFunc)->FuncPtr)((__block_impl *)blockFunc);return 1; }

Block的結構:

struct __main_block_impl_0 {struct __block_impl impl;struct __main_block_desc_0* Desc;int *a; // 被捕獲的引用 a 出現在了block的結構體里面__main_block_impl_0(void *fp, struct __main_block_desc_0 *desc, int *_a, int flags=0) : a(_a) {impl.isa = &_NSConcreteStackBlock;impl.Flags = flags;impl.FuncPtr = fp;Desc = desc;} };

實際執行的函數:

static void __main_block_func_0(struct __main_block_impl_0 *__cself) {int *a = __cself->a; // bound by copyint *c = a; // 在block中聲明的引用 c 在函數中聲明,存在于函數棧上}

我們可以清楚得看到,a和c存在的位置完全不同,如果Block存在于堆上(在ARC下Block默認在堆上),那么a作為Block結構體的一個成員,也自然會存在于堆上,而c無論如何,永遠位于Block內實際執行代碼的函數棧內。這也導致了兩個變量生命周期的完全不同:c在Block的函數運行完畢,即會被釋放,而a呢,只有在Block被從堆上釋放的時候才會釋放。

回到我們的MyViewController的例子中,同上理,如果我們直接讓Block捕獲我們的myController引用,那么這個引用會被復制后(引用類型也會被復制)作為Block的成員變量存在于其所在的堆空間中,也就是為Block增加了一個指向myController對象的強引用,這就是造成循環引用的本質原因。對于MyViewController的例子,Block的結構體可以理解是這個樣子:(準確的結構體肯定和以下這個有區別,但也肯定是如下這種形式:)

struct __main_block_impl_0 {struct __block_impl impl;struct __main_block_desc_0* Desc;MyViewController * __strong myController; // 被捕獲的強引用myController__main_block_impl_0(void *fp, struct __main_block_desc_0 *desc, int *_a, int flags=0) : a(_a) {impl.isa = &_NSConcreteStackBlock;impl.Flags = flags;impl.FuncPtr = fp;Desc = desc;} };

而反觀我們給Block傳入一個弱引用weakMyController,這時我們Block的結構:

struct __main_block_impl_0 {struct __block_impl impl;struct __main_block_desc_0* Desc;MyViewController * __weak weakMyController; // 被捕獲的弱引用weakMyController__main_block_impl_0(void *fp, struct __main_block_desc_0 *desc, int *_a, int flags=0) : a(_a) {impl.isa = &_NSConcreteStackBlock;impl.Flags = flags;impl.FuncPtr = fp;Desc = desc;} };

再看在Block內聲明的強引用strongMyController,它雖然是強引用,但存在于函數棧中,在函數執行期間,它一直存在,所以myController對象也一直存在,但是當函數執行完畢,strongMyController即被銷毀,于是它對myController對象的強引用也被解除,這時Block對myController對象就不存在強引用關系了!加入了strongMyController的函數大體會是這個樣子:

static void __main_block_func_0(struct __main_block_impl_0 *__cself) {MyViewController * __strong strongMyController = __cself->weakMyController; // ....
}

綜上所述,在ARC下(在MRC下會略有不同),Block捕獲的引用和Block內聲明的引用無論是存在空間與生命周期都是截然不同的,也正是這種不同,造成了我們對他們使用方式的區別。

以上就解釋了之前提到的所有問題,希望大家能看明白:)

好的,最后再提一點,在ARC中,對Block捕獲對象的內存管理已經簡化了很多,由于沒有了retain和release等操作,實際只需要考慮循環引用的問題就行了。比如下面這種,是沒有內存泄露的問題的:

TestObject *aObject = [[TestObject alloc] init];aObject.name = @"hehe";self.aBlock = ^(){NSLog(@"aObject's name = %@",aObject.name);};

我們上面提到的解決方案,只是針對Block產生循環引用的問題,而不是說所有的Block捕獲引用都要這么處理,一定要注意!

ARC與Toll-Free Bridging


There are a number of data types in the Core Foundation framework and the Foundation framework that can be used interchangeably. This capability, called?toll-free bridging, means that you can use the same data type as the parameter to a Core Foundation function call or as the receiver of an Objective-C message.?

Toll-Free Briding保證了在程序中,可以方便和諧的使用Core Foundation類型的對象和Objective-C類型的對象。詳細的內容可參考官方文檔。以下是官方文檔中給出的一些例子:

NSLocale *gbNSLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"]; CFLocaleRef gbCFLocale = (CFLocaleRef) gbNSLocale; CFStringRef cfIdentifier = CFLocaleGetIdentifier (gbCFLocale); NSLog(@"cfIdentifier: %@", (NSString *)cfIdentifier); // logs: "cfIdentifier: en_GB" CFRelease((CFLocaleRef) gbNSLocale);CFLocaleRef myCFLocale = CFLocaleCopyCurrent(); NSLocale * myNSLocale = (NSLocale *) myCFLocale; [myNSLocale autorelease]; NSString *nsIdentifier = [myNSLocale localeIdentifier]; CFShow((CFStringRef) [@"nsIdentifier: " stringByAppendingString:nsIdentifier]); // logs identifier for current locale

在MRC時代,由于Objective-C類型的對象和Core Foundation類型的對象都是相同的release和retain操作規則,所以Toll-Free Bridging的使用比較簡單,但是自從ARC加入后,Objective-C類型的對象內存管理規則改變了,而Core Foundation依然是之前的機制,換句話說,Core Foundation不支持ARC。

這個時候就必須要要考慮一個問題了,在做Core Foundation與Objective-C類型轉換的時候,用哪一種規則來管理對象的內存。顯然,對于同一個對象,我們不能夠同時用兩種規則來管理,所以這里就必須要確定一件事情:哪些對象用Objective-C(也就是ARC)的規則,哪些對象用Core Foundation的規則(也就是MRC)的規則。或者說要確定對象類型轉換了之后,內存管理的ownership的改變。

If you cast between Objective-C and Core Foundation-style objects, you need to tell the compiler about the ownership semantics of the object using either a cast (defined in?objc/runtime.h) or a Core Foundation-style macro (defined inNSObject.h)

于是蘋果在引入ARC之后對Toll-Free Bridging的操作也加入了對應的方法與修飾符,用來指明用哪種規則管理內存,或者說是內存管理權的歸屬。

這些方法和修飾符分別是:

__bridge(修飾符)

只是聲明類型轉變,但是不做內存管理規則的轉變。

比如:

CFStringRef s1 = (__bridge CFStringRef) [[NSString alloc] initWithFormat:@"Hello, %@!", name];

只是做了NSString到CFStringRef的轉化,但管理規則未變,依然要用Objective-C類型的ARC來管理s1,你不能用CFRelease()去釋放s1。

__bridge_retained(修飾符)?or?CFBridgingRetain(函數)

表示將指針類型轉變的同時,將內存管理的責任由原來的Objective-C交給Core Foundation來處理,也就是,將ARC轉變為MRC。

比如,還是上面那個例子

NSString *s1 = [[NSString alloc] initWithFormat:@"Hello, %@!", name]; CFStringRef s2 = (__bridge_retained CFStringRef)s1; // do something with s2 //... CFRelease(s2); // 注意要在使用結束后加這個

我們在第二行做了轉化,這時內存管理規則由ARC變為了MRC,我們需要手動的來管理s2的內存,而對于s1,我們即使將其置為nil,也不能釋放內存。

等同的,我們的程序也可以寫成:

NSString *s1 = [[NSString alloc] initWithFormat:@"Hello, %@!", name]; CFStringRef s2 = (CFStringRef)CFBridgingRetain(s1); // do something with s2 //... CFRelease(s2); // 注意要在使用結束后加這個

__bridge_transfer(修飾符)?or?CFBridgingRelease(函數)

這個修飾符和函數的功能和上面那個__bridge_retained相反,它表示將管理的責任由Core Foundation轉交給Objective-C,即將管理方式由MRC轉變為ARC。

比如:

CFStringRef result = CFURLCreateStringByAddingPercentEscapes(. . .); NSString *s = (__bridge_transfer NSString *)result; //or NSString *s = (NSString *)CFBridgingRelease(result); return s;

這里我們將result的管理責任交給了ARC來處理,我們就不需要再顯式地將CFRelease()了。

對了,這里你可能會注意到一個細節,和ARC中那個4個主要的修飾符(__strong,__weak,...)不同,這里修飾符的位置是放在類型前面的,雖然官方文檔中沒有說明,但看官方的頭文件可以知道。小伙伴們,記得別把位置寫錯哦:)

?

轉載于:https://www.cnblogs.com/mafeng/p/5743503.html

總結

以上是生活随笔為你收集整理的iOS开发ARC内存管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩激情中文字幕 | 久久av免费观看 | 精品美女久久久久 | 亚洲高清在线视频 | 国产伦精品一区二区三区四区视频 | 在线色吧 | 国产在线a不卡 | 日韩在线观看网址 | 日本中文一级片 | 国产成人性色生活片 | 奇米网网址 | 亚洲精品国产精品国自产观看浪潮 | 在线观看网站你懂的 | 亚洲一级二级三级 | 亚洲国产精品成人女人久久 | 欧美色图30p | 日本 在线 视频 中文 有码 | 夜夜躁日日躁 | 一本一道久久a久久综合蜜桃 | 日韩欧美一区二区三区在线观看 | 久草免费在线视频观看 | 国产成人在线观看免费 | 欧美福利片在线观看 | 伊人资源视频在线 | 国产美女视频免费 | 丰满少妇高潮在线观看 | 久久曰视频 | 韩国一区二区三区视频 | 狠狠色丁香婷婷综合基地 | 亚洲aⅴ在线 | 天天操天天干天天综合网 | 成人一级电影在线观看 | 精品国产一区二区三区久久久 | 久章操 | 亚洲精品久久久久久中文传媒 | 天天干天天射天天爽 | 国产手机在线播放 | 波多野结依在线观看 | 五月综合色 | 香蕉色综合 | 久久你懂得 | 国产高清一 | 亚洲视频免费 | 91福利视频免费观看 | 狠狠色丁香久久婷婷综 | 国产精品美女久久久久aⅴ 干干夜夜 | 精品 一区 在线 | 伊人欧美 | 在线观看日韩国产 | 久久久久国产一区二区三区四区 | 日韩免费成人 | 视频二区| 四虎精品成人免费网站 | 蜜桃传媒一区二区 | 国内精品久久久久 | 中文亚洲欧美日韩 | 成人免费在线播放视频 | 亚洲精选在线观看 | 99超碰在线观看 | 午夜视频在线观看网站 | 2018好看的中文在线观看 | 免费看三级网站 | 日韩一级成人av | 成人一级在线观看 | 福利视频一二区 | 久久成人精品视频 | 91女子私密保健养生少妇 | 国产999在线观看 | 婷婷干五月 | 四虎影视成人精品国库在线观看 | 九九免费精品视频在线观看 | 国产视频在线观看一区二区 | 国产涩涩网站 | 色综合天天综合 | 在线免费观看视频一区 | 久久久国产精品人人片99精片欧美一 | 亚洲视频大全 | 黄色的网站在线 | 天天干天天做天天爱 | 91av电影在线| 亚洲成人高清在线 | 91免费的视频在线播放 | 成人午夜电影久久影院 | 视频一区二区三区视频 | 伊人超碰在线 | 日韩大片在线免费观看 | 精品成人在线 | 欧美日本一区 | 婷婷久久精品 | 亚洲精品乱码久久久久久蜜桃91 | 97电影网手机版 | 久久久久国产精品视频 | 国产精品久久久久一区 | 黄色av电影免费观看 | 免费在线观看a v | 久艹视频在线观看 | 黄色免费网站下载 | 毛片美女网站 | 久久久久成人精品 | www.av免费观看 | 91av观看| 黄色一级在线免费观看 | 狠狠色丁香久久婷婷综 | av大片免费看 | 亚洲欧美精品一区 | 国产精品久久久视频 | 久久精品看片 | 在线看v片 | 日韩精品视频在线免费观看 | 一区免费在线 | 色综合狠狠干 | 99精彩视频在线观看免费 | 亚洲电影黄色 | 欧美日韩国产在线精品 | 国产免费三级在线观看 | 欧美精品一区二区免费 | 麻豆精品传媒视频 | 欧美日韩亚洲精品在线 | 亚州成人av在线 | 国产伦理精品一区二区 | 亚洲激情视频 | 精品成人a区在线观看 | 碰超在线97人人 | 在线看黄色av | 久久99国产精品免费 | www.日日操.com | 中文字幕视频在线播放 | av看片网 | 欧美一区二区三区四区夜夜大片 | 一区二区视频在线观看免费 | 亚洲欧美国产视频 | 久草免费在线 | 国产精品久久久久影视 | 99综合影院在线 | 亚洲免费成人av电影 | 狠狠色狠狠色终合网 | www.国产在线观看 | 亚洲精品免费在线视频 | 欧美精品久久久久久久久老牛影院 | 五月天久久婷 | 中文字幕乱码亚洲精品一区 | 久久avav| 蜜桃av观看 | 四虎成人精品永久免费av | 久久综合导航 | 亚洲精品白浆高清久久久久久 | 国产成人精品久久久久 | 日韩最新在线 | 成人va视频 | 我要色综合天天 | 高清一区二区三区 | 亚洲国产字幕 | 国产破处在线视频 | 91看毛片 | 国产一线二线三线性视频 | 亚洲国产精品成人综合 | 99久久综合狠狠综合久久 | 9色在线视频 | 日韩理论电影网 | 国产免费大片 | 女人18片| 国产精品18videosex性欧美 | 久久久www成人免费毛片麻豆 | 色之综合网 | 午夜性色 | 久热久草 | 国产成人精品a | 九九免费精品视频在线观看 | 日色在线视频 | 日韩黄在线观看 | 免费看一级黄色 | 亚洲精品国产日韩 | 99性视频 | 久久久精品综合 | 国产福利一区二区在线 | 久久手机在线视频 | 亚洲欧美视频在线 | 7777xxxx| 久草在线手机视频 | 久久久久久久免费观看 | 91久久精品一区二区二区 | 91丨九色丨国产在线 | 天天视频色版 | 视频在线91| 人人狠狠| 超碰97成人| 五月婷婷色丁香 | 日韩xxxx视频 | 国产精品一区二区三区四区在线观看 | av成人免费在线看 | 伊人精品在线 | 国产日本在线观看 | 久久久久久久久久久电影 | 日本中文字幕在线电影 | 久久久久久激情 | 色视频网站免费观看 | 天天干天天拍天天操天天拍 | 国产精品久久久久婷婷二区次 | 一区二区伦理电影 | 丁香六月激情婷婷 | 国产中文字幕在线视频 | 中字幕视频在线永久在线观看免费 | 免费黄色a网站 | 91探花视频 | 日韩一级精品 | 亚洲精品黄网站 | 亚洲精品天天 | 久久这里只精品 | 97国产大学生情侣白嫩酒店 | 国产一区二区在线免费播放 | 三级免费黄 | 日韩二区在线播放 | 婷婷久久丁香 | 色噜噜在线观看视频 | 中文字幕国语官网在线视频 | 四虎成人av| 国产玖玖精品视频 | 久久久免费 | 久久96国产精品久久99软件 | 成人免费网站在线观看 | 丁香五月缴情综合网 | 日韩午夜电影网 | 国产视频精品免费播放 | 在线免费av播放 | 97超碰超碰久久福利超碰 | 欧美日韩不卡在线观看 | 99久热在线精品视频 | 久久96国产精品久久99漫画 | 免费成人黄色av | 一区二区三区观看 | 国产一级视频 | 久久久久久国产精品亚洲78 | 91视频91色| 亚洲黄色一级大片 | 二区精品视频 | 亚洲人毛片 | 在线看日韩 | 在线观看日韩精品视频 | 国产亚洲精品无 | www.亚洲黄色| 九九九九九精品 | 97在线影院 | 天天射一射| 韩日成人av| 国内精品在线观看视频 | 国产精彩视频一区 | 一级精品视频在线观看宜春院 | 久久久不卡影院 | 97久久精品午夜一区二区 | 91av视频免费在线观看 | 色五月色开心色婷婷色丁香 | 丁香九月婷婷综合 | 国产精品专区在线观看 | 高清国产午夜精品久久久久久 | 久久午夜网 | av网站手机在线观看 | 久久天天操 | 亚洲播播| 一级国产视频 | 在线香蕉视频 | 99视频久 | 国产精品一区二区免费视频 | 手机看片久久 | 黄色字幕网 | 亚洲精品资源在线观看 | 五月婷婷在线视频观看 | 在线视频观看你懂的 | 一区二区三区电影大全 | 国产视频综合在线 | 婷婷av资源| 国产一区在线视频观看 | 91日韩在线专区 | av中文在线播放 | 久久精品精品 | 国产亚洲视频在线 | 少妇bbbb | 欧美一区二区三区免费看 | 国产福利资源 | www.人人草 | 国产黄色免费在线观看 | 日韩av电影免费在线观看 | 就操操久久 | 国产精品久久久电影 | 黄色免费在线视频 | 亚洲黄色区 | 91黄视频在线观看 | 久久在线免费视频 | 黄色亚洲片 | 黄色亚洲在线 | 狠狠干成人综合网 | 天天干天天操天天干 | 亚洲激情一区二区三区 | 亚洲国产精品成人女人久久 | 999色视频| 国产成人黄色片 | 精品在线观看视频 | 免费亚洲精品 | 丁香婷婷久久久综合精品国产 | 国偷自产视频一区二区久 | 天天曰夜夜爽 | 免费在线国产黄色 | 亚洲国产美女精品久久久久∴ | 免费av片在线 | 99久久精品免费看国产一区二区三区 | 偷拍福利视频一区二区三区 | 久久久免费观看 | 丁香五月亚洲综合在线 | 在线日本看片免费人成视久网 | 亚洲综合视频网 | 亚洲高清在线观看视频 | 久久艹综合 | 91社区国产高清 | 国产在线观看一 | 一区二区三区在线影院 | 午夜av在线免费 | 九九热av| 看污网站 | 亚洲涩综合 | 玖玖玖在线观看 | 国产精品原创av片国产免费 | 欧美激情第八页 | 超碰午夜 | 99爱爱| 欧美久草网| 欧美一区二区三区激情视频 | 国产福利不卡视频 | 狠狠久久婷婷 | 精品国产电影一区二区 | 97**国产露脸精品国产 | 在线观看免费日韩 | 国产精品久久久久免费观看 | 毛片网站在线 | 九九免费精品 | 国产精品刺激对白麻豆99 | 国产午夜精品一区二区三区 | 久久精品国产精品亚洲 | 国产精品久久久久久久电影 | av片子在线观看 | 亚洲激情在线观看 | 欧美性色19p | 久久久电影网站 | 欧美日韩国产综合一区二区 | 天天插天天射 | 色全色在线资源网 | 91网站观看 | 黄色影院在线免费观看 | 日韩精品免费 | 九九久久久久99精品 | 国产在线观看免 | 国产在线中文 | 日韩午夜高清 | 中文字幕av播放 | 999成人精品 | 欧美日韩国语 | 91视频在线免费观看 | 少妇资源站 | 精品久久久久久久久久 | 午夜视频在线观看一区 | av久久在线 | 成人av在线一区二区 | 久久人人爽人人爽人人片av软件 | www.久久免费视频 | 人人射av| 久久天天躁狠狠躁亚洲综合公司 | 在线精品视频在线观看高清 | 日本成人中文字幕在线观看 | 在线播放日韩av | www.午夜色.com| 国产精品入口久久 | 日本久久不卡视频 | 国产热re99久久6国产精品 | 99热网站| 亚洲涩涩网站 | 日韩精品在线免费观看 | 91精品国产福利在线观看 | 99爱这里只有精品 | 国产99久久精品一区二区永久免费 | 国产在线综合视频 | 欧美激情精品久久久 | 欧美在线日韩在线 | 91av视频在线播放 | 国产女人40精品一区毛片视频 | 综合色站导航 | 一区二区三区福利 | 久久久久免费精品国产 | 免费麻豆网站 | 国产免费又爽又刺激在线观看 | 五月婷婷av在线 | 国产精品免费在线视频 | 日日夜夜网 | 国产免费三级在线观看 | 福利av影院 | 成人黄色大片在线观看 | 国产专区视频在线 | 亚洲视频在线免费看 | 久久久久久久久久久影视 | 女人18片毛片90分钟 | 美女视频黄频大全免费 | 国产免费又黄又爽 | 麻豆av一区二区三区在线观看 | 伊人五月天综合 | 欧美日韩国产一区二区三区 | 日韩在线观看网站 | 韩国一区视频 | 蜜桃视频日韩 | 一本一道久久a久久精品蜜桃 | 日韩女同一区二区三区在线观看 | 97国产大学生情侣白嫩酒店 | 九九精品视频在线看 | 91成人欧美 | 欧美最猛性xxxxx免费 | 国产99一区视频免费 | 国内久久久久久 | 免费成人结看片 | av免费在线播放 | 亚洲一区尤物 | 久久精品一区二区三 | www.久久久精品 | 午夜在线免费观看视频 | 激情片av | www视频在线播放 | 视频一区亚洲 | 黄色一区二区在线观看 | 超碰97久久 | 91中文字幕永久在线 | 日韩中文在线视频 | 国产老太婆免费交性大片 | 97超级碰碰 | 一级免费看视频 | 久久久精品欧美 | 国产一区视频在线 | 国产小视频在线观看 | 天天操天天吃 | 最近中文字幕免费av | 夜夜爱av | 久久久久久片 | 97在线看片 | 国产无区一区二区三麻豆 | 日韩av黄| 在线综合 亚洲 欧美在线视频 | 黄色小说视频网站 | 香蕉视频导航 | 久久久国产网站 | 999国内精品永久免费视频 | 在线观看国产麻豆 | 人人澡av| 超碰在线公开 | 亚洲精品在线一区二区三区 | 中文字幕丝袜美腿 | www..com毛片 | 999久久久久久久久 69av视频在线观看 | 国产亚洲精品成人 | www日韩欧美 | 欧美精品久久久久久久亚洲调教 | 91精品在线麻豆 | 深夜免费福利视频 | 夜夜躁日日躁狠狠躁 | 成人午夜电影在线 | 亚洲国产伊人 | av7777777 | 亚洲精品高清在线观看 | 特级西西人体444是什么意思 | 免费在线激情电影 | 国产传媒中文字幕 | 婷婷视频在线观看 | 天天综合入口 | 国产在线不卡视频 | 青青看片| 国产精品成人一区二区三区吃奶 | 日韩大片在线看 | 天天艹天天| 精品久久久久久久久久久久久久久久 | 色94色欧美 | 国产成人一区二区三区电影 | 国内小视频在线观看 | 亚洲mv大片欧洲mv大片免费 | 97品白浆高清久久久久久 | av在线中文| 久久久久二区 | 国产精品手机在线观看 | 亚洲aⅴ一区二区三区 | 91亚洲精品国偷拍 | 国产91丝袜在线播放动漫 | 久久国产精品系列 | 亚洲精品乱码白浆高清久久久久久 | 国产字幕在线播放 | 97人人模人人爽人人喊中文字 | 精品久久久久久国产偷窥 | 国产不卡网站 | 欧美老少交 | 中文视频在线 | 国产区av在线 | 日韩欧美在线国产 | 最近最新中文字幕视频 | 久草久草久草久草 | 欧美日韩免费视频 | 最新真实国产在线视频 | 欧美激情精品久久久久久免费 | 国产精品久久久久久久久久99 | 日本公妇色中文字幕 | 99久久久国产精品 | 午夜av电影 | 欧美精品久 | 日韩精品一区不卡 | 天天爱天天操天天干 | 日韩一区二区免费视频 | 精品国产乱码久久久久久久 | 97超碰人人在线 | 亚洲电影毛片 | 久久久香蕉视频 | 中文字幕日本电影 | 国产一区二区三精品久久久无广告 | 91九色视频 | 337p日本大胆噜噜噜噜 | 亚洲欧美在线综合 | 久草视频看看 | 91亚洲在线 | 免费观看的av网站 | 91视频在线看| 超碰在线成人 | 天天人人综合 | 操操碰 | 久久久精品国产一区二区 | 成人黄色中文字幕 | 成人黄色在线观看视频 | 久久久天天操 | 97天天干 | 日韩欧美在线中文字幕 | 亚洲最快最全在线视频 | 国产尤物在线视频 | 丰满少妇在线观看 | 一级片视频在线 | 国产视频一 | 黄色小说免费观看 | 在线国产欧美 | 日韩成人xxxx | 天天操综合| 99热手机在线观看 | 亚洲另类在线视频 | 伊人精品在线 | 美女网站在线 | 亚洲精品日韩在线观看 | 日日精品 | 69亚洲乱| 人人澡人人爱 | 又污又黄的网站 | 国产打女人屁股调教97 | 看全黄大色黄大片 | 精品1区2区3区 | 香蕉视频国产在线观看 | 欧美在线观看视频一区二区三区 | 福利视频入口 | 探花视频免费观看 | 欧美色精品天天在线观看视频 | 九九九九精品九九九九 | 国产成人三级在线 | 中文字幕在线观看的网站 | 国产精品久久在线观看 | 国产91精品一区二区麻豆亚洲 | 米奇影视7777 | 亚洲丝袜中文 | 国产成人精品一二三区 | 成人片在线播放 | 日韩精品久久一区二区 | 黄色大全视频 | 欧美一级片免费在线观看 | 久久激情久久 | 亚洲精品www久久久久久 | 久久曰视频| 日韩一级电影在线 | 国产不卡精品视频 | 日本三级久久久 | 亚洲综合情 | 精品视频999| 91精品视频在线看 | 天天射天天干天天 | 一二三区视频在线 | 午夜免费电影院 | 免费看的黄网站 | 中文日韩在线 | 国产精品剧情 | 成人看片 | 免费人成网 | 99久久精品国产一区 | 激情开心站 | 国产精品69av | 97免费公开视频 | 99精品在这里 | 亚洲免费av网站 | 中文字幕免费高清 | 右手影院亚洲欧美 | 欧美成人一二区 | 天天操夜夜操国产精品 | 麻豆传媒视频观看 | 亚洲黄色网络 | av久久在线 | 精品国产99国产精品 | 日本高清免费中文字幕 | 久久艹综合 | 亚洲精品在线免费看 | 亚洲国内精品在线 | 丁香伊人网 | 91在线精品视频 | 欧美日韩在线观看一区 | 欧美资源在线观看 | 一区在线观看 | 日韩网站在线免费观看 | 色婷婷伊人 | 中文字幕 二区 | 91免费视频网站在线观看 | 天天草网站 | 久久免费观看视频 | 欧洲视频一区 | 色哟哟国产精品 | 亚洲天堂网视频在线观看 | 欧美亚洲国产一卡 | 少妇av片 | 91视频国产免费 | 国产亚洲视频在线免费观看 | 亚洲精品女 | 91精品第一页 | 日日日天天天 | 九九精品毛片 | 国产精品美 | 国产成人综合精品 | av免费看在线 | 久久精品视频免费观看 | 久久久久久久久久免费视频 | 欧美二区视频 | www.五月天激情 | 国产小视频国产精品 | 91在线免费公开视频 | 国产成人a v电影 | 亚洲精选99 | 国产在线观看免费av | 久久在线精品 | 久久99精品国产麻豆婷婷 | 免费高清在线观看成人 | 久久成人午夜视频 | 亚洲黄色在线免费观看 | 天堂av观看 | 欧美日韩国产综合一区二区 | 视频在线精品 | 777久久久 | 黄色最新网址 | 国产九九热 | 可以免费观看的av片 | 国产人成精品一区二区三 | 亚洲精品高清视频在线观看 | 婷婷伊人综合亚洲综合网 | 91传媒在线 | 美国三级黄色大片 | 久久新视频 | 亚洲精品欧美视频 | 99精品一区二区三区 | 激情av综合 | 天天操天天操 | 婷婷丁香自拍 | 91精品视屏| 九草在线观看 | 草久电影 | 极品国产91在线网站 | 激情网在线视频 | av在线播放不卡 | 日韩理论片在线观看 | 久久精品视频99 | 日韩久久久久久久久久 | av大片免费看 | 黄色av电影一级片 | 日韩网站视频 | 99精品毛片 | 日韩精品最新在线观看 | 国产精品黑丝在线观看 | 香蕉视频在线免费 | 九九免费精品视频在线观看 | 国产免费一区二区三区网站免费 | 91九色网站 | 久久免费一级片 | 国产福利不卡视频 | 国产精品久久99综合免费观看尤物 | 国产成人精品一区二区在线观看 | 天天干天天在线 | 三级黄色免费片 | 久久久精品视频网站 | 99久久精品国产一区 | 91精品在线播放 | 91精品伦理 | 五月婷婷综合网 | 国产中年夫妇高潮精品视频 | 伊人久操 | 5月丁香婷婷综合 | 日韩在线免费不卡 | 久久成人精品电影 | 91久久久久久久一区二区 | 国色天香av | 亚洲在线黄色 | 狠狠干夜夜 | 91污污视频在线观看 | 国产精品久久片 | 欧美日比视频 | 日日干网| 国内精品久久久久影院日本资源 | 青青河边草免费视频 | 久久在线视频精品 | 亚洲二区精品 | www免费看片com| 在线观看av小说 | 2023亚洲精品国偷拍自产在线 | 88av网站 | 久久99精品久久久久久三级 | 国产成人免费网站 | 九九九热精品免费视频观看网站 | 国产成人精品女人久久久 | 天天色天天综合网 | 中文一区在线 | 精品视频免费观看 | 日韩av高潮 | avav片| 欧美在线日韩在线 | 又粗又长又大又爽又黄少妇毛片 | 中文日韩在线视频 | 最近的中文字幕大全免费版 | 狠狠狠狠狠狠狠干 | 91网站免费观看 | 国产精品99久久免费观看 | 天天综合色天天综合 | 91精品视频在线 | 最近中文字幕国语免费av | 婷婷综合国产 | 日韩在线精品一区 | 免费视频三区 | 中文字幕色在线 | 国产精品av电影 | 一区二区三区av在线 | 国内精品久久久久影院日本资源 | 亚洲国内精品在线 | 日韩免费在线看 | 国产在线观看高清视频 | 午夜在线看| 亚洲精品在线免费看 | 欧美孕妇与黑人孕交 | av福利电影 | 91九色国产蝌蚪 | 亚洲精品mv在线观看 | 在线免费观看国产视频 | 久久97精品 | 国产一区成人在线 | 奇米影视在线99精品 | 在线免费观看视频一区 | 中文字幕在线观看2018 | 99r在线精品| 国产高清一级 | 五月激情av | 欧美大香线蕉线伊人久久 | 久久亚洲综合国产精品99麻豆的功能介绍 | 欧美另类一二三四区 | 国产精品入口久久 | 国产黄a三级三级三级三级三级 | 夜夜操网站 | 又黄又刺激视频 | 亚洲综合欧美激情 | 久久在线观看 | 中文在线免费一区三区 | 日韩国产欧美在线视频 | 日韩精品在线看 | 国产美女被啪进深处喷白浆视频 | 丰满少妇在线观看资源站 | 丝袜网站在线观看 | 久久久久久久久久久久久影院 | 国产日韩精品一区二区在线观看播放 | 香蕉网在线播放 | 射久久久 | 日韩欧美在线观看一区二区 | 色999在线 | 中文字幕日本特黄aa毛片 | 狠狠网| 久色小说 | 九色精品免费永久在线 | 九色视频网| 亚洲精品久久久久中文字幕二区 | 天堂av在线中文在线 | 成人一区二区三区在线 | 国产在线观看免费av | 91黄色小视频 | 韩国在线一区二区 | 日本二区三区在线 | 97视频免费在线观看 | 免费黄色在线 | 天天操天天色天天射 | 欧美精品久久久久久久久久白贞 | 成人黄色小说网 | 亚洲高清视频在线观看免费 | 中文在线字幕免费观 | 99精品视频免费 | 又黄又爽又无遮挡的视频 | 国产老太婆免费交性大片 | 精品亚洲va在线va天堂资源站 | 在线精品观看 | 91片在线观看 | 美女网站在线免费观看 | 婷婷在线网站 | 精品久久久久一区二区国产 | 国产成人在线免费观看 | 91麻豆精品一区二区三区 | 热久久免费视频精品 | av在线免费观看网站 | 国产做爰视频 | 丁香综合网 | 国产亚洲人成网站在线观看 | 欧美国产日韩在线视频 | 国产麻豆果冻传媒在线观看 | 99自拍视频在线观看 | 麻豆成人精品 | 免费国产一区二区视频 | 热九九精品| 精品国产一区二区三区不卡 | 亚洲精品国产精品国自产观看浪潮 | 国产免费黄色 | 在线国产视频 | 天天爽夜夜爽人人爽曰av | 亚洲精品一区二区18漫画 | www在线观看视频 | 久久久久久美女 | 亚洲综合网 | 日韩视频免费在线 | 久久亚洲免费视频 | 欧美日韩高清一区二区三区 | 日日夜夜天天久久 | 日韩欧美综合精品 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 日韩高清精品一区二区 | 91精品在线免费观看 | 国产96av| 狠狠五月天 | 人人爽人人av | 96精品高清视频在线观看软件特色 | 国产精品一区二区av | 九色91福利 | 九色91视频 | 国产精品丝袜 | 国产精品粉嫩 | 色婷婷精品大在线视频 | 最近中文字幕免费av | 日韩二区三区在线观看 | 天天碰天天操视频 | 亚洲视频久久久 | 在线日韩中文 | 久久系列 | av网站地址 | 99久久超碰中文字幕伊人 | 狠狠干2018| 久久精品视频在线播放 | 91中文在线观看 | 国产视频一区在线免费观看 | 中文字幕观看视频 | 国产精品wwwwww | 在线电影日韩 | 国产一区二区久久久 | 激情图片qvod | 色综合久久精品 | 最新av在线免费观看 | 毛片随便看 | 中文字幕无吗 | 亚洲欧美成人综合 | 久操视频在线播放 | 在线看的毛片 | 国产成人精品亚洲精品 | av在线免费播放网站 | 在线观看成人一级片 | 一区久久久 | 中文字幕在线观看国产 | 久草青青在线观看 | 成人av在线直播 | 久久av观看 | 色综合久久中文综合久久牛 | 精品久久久久免费极品大片 | 日韩精品一区二区免费 | 国产91粉嫩白浆在线观看 | 91| 超碰人人91| 成人在线一区二区 | 在线播放 亚洲 | 日韩精品一区二区在线视频 | 国产精品自产拍在线观看蜜 | 最新日韩电影 | 永久免费在线 | 91网站在线视频 | 天天色天天射天天干 | 97视频免费在线看 | 伊人久久国产精品 | 国内精品久久久久影院日本资源 | 亚洲精品短视频 | 免费在线一区二区 | 成全在线视频免费观看 | 国产精品久久久久久久久久不蜜月 | 久久艹中文字幕 | 久久精品国产一区二区 | 最近高清中文在线字幕在线观看 | 日韩在线观看a | 成人av教育 | 夜夜操天天干 | 精品九九九 | 国产专区一| 亚洲va在线va天堂 | 伊人中文在线 | 日韩v欧美v日本v亚洲v国产v | 国产精品久久久久毛片大屁完整版 | 日韩精品一区二区三区第95 | 高清av免费一区中文字幕 | 亚洲免费不卡 | 在线看片视频 | 国产精品久久久久永久免费看 | 91麻豆精品国产91久久久使用方法 | 免费看一级特黄a大片 | 国产精品人成电影在线观看 | 亚洲精品色 | 在线观看视频你懂得 | 久久在线观看视频 | 欧美日韩国产网站 | 亚洲一区二区三区在线看 | 欧美另类一二三四区 | 色综合天 | 99精品国产99久久久久久福利 | 成人香蕉视频 | 成人午夜免费福利 | 五月天久久婷 | 久久精品激情 | 日本精品在线视频 | 超碰在线人人 | 在线观看中文字幕第一页 | 视频一区二区三区视频 | 一级黄色av| 五月天久久婷婷 | 国产精品色在线 | 日韩h在线观看 | av线上免费看 | 91手机视频在线 | 日韩毛片一区 | 欧美成人h版电影 | 久久久久久欧美二区电影网 | 日日天天狠狠 | 特黄免费av| 成人亚洲网 | 精品国产一区二区三区久久久蜜臀 | 在线 国产一区 | 国产日产欧美在线观看 | 美女亚洲精品 | 久久调教视频 | 亚洲第一中文网 | 亚洲一区二区三区在线看 | 91高清一区 | 91麻豆精品国产91久久久无限制版 | 亚洲一区二区视频在线播放 | 五月天久久综合网 | 日韩精品第1页 | 99视频在线精品 | 久久成人高清 | 97精品超碰一区二区三区 | 麻豆免费视频网站 | 三三级黄色片之日韩 | 久久天天躁夜夜躁狠狠躁2022 | 中文字幕一区二区三区四区久久 | 精品国产a | 成人av资源站 | 久久这里有精品 | 欧美激情第一页xxx 午夜性福利 | bbw av| 国产免费又黄又爽 | 久久香蕉一区 | 91精品免费视频 | 国产视频中文字幕 | 国产成人三级一区二区在线观看一 | 国产女v资源在线观看 | 日韩av影片在线观看 | 91专区在线观看 | 在线观看日韩av | 狠狠躁夜夜躁人人爽超碰91 | 狠狠色噜噜狠狠狠狠2021天天 | 黄av资源 | 色av资源网| 亚洲国产精品女人久久久 | 亚洲国产日韩在线 | 欧美男女爱爱视频 | 蜜臀一区二区三区精品免费视频 | 午夜免费在线观看 | 91福利试看| 97日日 | 久久精品国产成人精品 | 国产亚洲成人精品 | 九九综合久久 | 国产免费视频在线 | 最近高清中文字幕在线国语5 | 天天干夜夜想 | 天天操天天吃 | 韩国av在线播放 | 福利av影院 | 亚洲女人天堂成人av在线 | 中文字幕韩在线第一页 |