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

詳解在IOS后臺執行

移動開發 iOS
IOS應用程序轉入暫停狀態。在這種狀態下,應用程序不執行任何代碼,并有可能在任意時候從內存中刪除。應用程序提供特定的服務,用戶可以請求后臺執行時間,以提供這些服務。

在IOS后臺執行是本文要介紹的內容,大多數應用程序進入后臺狀態不久后轉入暫停狀態。在這種狀態下,應用程序不執行任何代碼,并有可能在任意時候從內存中刪除。應用程序提供特定的服務,用戶可以請求后臺執行時間,以提供這些服務。

判斷是否支持多線程

  1. UIDevice* device = [UIDevice currentDevice];  
  2. BOOL backgroundSupported = NO;  
  3. if ([device respondsToSelector:@selector(isMultitaskingSupported)])  
  4. backgroundSupported = device.multitaskingSupported; 

聲明你需要的后臺任務

Info.plist中添加UIBackgroundModes鍵值,它包含一個或多個string的值,包括

audio:在后臺提供聲音播放功能,包括音頻流和播放視頻時的聲音

location:在后臺可以保持用戶的位置信息

voip:在后臺使用VOIP功能

前面的每個value讓系統知道你的應用程序應該在適當的時候被喚醒。例如,一個應用程序,開始播放音樂,然后移動到后臺仍然需要執行時間,以填補音頻輸出緩沖區。添加audio鍵用來告訴系統框架,需要繼續播放音頻,并且可以在合適的時間間隔下回調應用程序;如果應用程序不包括此項,任何音頻播放在移到后臺后將停止運行。

除了添加鍵值的方法,IOS還提供了兩種途徑使應用程序在后臺工作:

Task completion—應用程序可以向系統申請額外的時間去完成給定的任務

Local notifications—應用程序可以預先安排時間執行local notifications 傳遞

實現長時間的后臺任務

應用程序可以請求在后臺運行以實現特殊的服務。這些應用程序并不連續的運行,但是會被系統框架在合適的時間喚醒,以實現這些服務

1、  追蹤用戶位置:略

2、在后臺播放音頻:

添加UIBackgroundModes中audio值,注冊后臺音頻應用。這個值使得應用程序可以在后臺使用可聽的背景,如音樂播放或者音頻流應用。對于支持音頻和視頻功能的應用程序也可以添加該值以保證可以繼續持續的運行流。

當audio值設置后,當你的應用程序進入后臺后,系統的多媒體框架會自動阻止它被掛斷,但是,如果應用程序停止播放音頻或者視頻,系統將掛斷應用程序。

當你的應用程序在后臺時,你可以執行任意的系統音頻框架去初始化后臺音頻。你的應用程序在后臺時應該限制自身,使其執行與工作相關的代碼,不能執行任何與播放內容無關的任務

由于有多個應用程序支持音頻,前臺的應用程序始終允許播放音頻,后臺的應用程序也被允許播放一些音頻內容,這取決于audio session object的設置。應用程序應該始終設置它們的audio session object,并小心的處理其他類型的音頻相關notifications和中斷。詳見audio session programming guide。

3、實現VOIP應用:

VOIP程序需要穩定的網絡去連接和它相關的服務,這樣它才能接到來電和其他相關的數據。系統允許VOIP程序被掛斷并提供組件去監聽它們的sockets,而不是在任意時候都處于喚醒狀態。設置VOIP應用程序如下:

A、 添加UIBackgroundModes中的VOIP鍵值

B、 為VOIP設置一個應用程序socket

C、 在移出后臺之前,調用setKeepAliveTimeout:handler:方法去建立一個定期執行的handler,你的應用程序可以運行這個handler來保持服務的連接。

D、 設置你的audio session去處理這種切換

釋義:

A、大多數VOIP應用需要設置后臺audio 應用去傳遞音頻,因此你應該設置audio 和voip兩個鍵值。

B、為了使應用程序在后臺時保持穩定的連接,你必須tag你的主通訊socket專門應用于VOIP,tagging這個socket來告訴系統,它必須在你的應用程序中斷時接管這個socket。這個切換本身對于你的應用程序時透明的,當新的數據到達socket的時候,系統會喚醒應用程序,并將socket的控制權返回給應用程序,這樣應用程序就可以處理新來的數據。

你只需要tag用于voip服務的socket,這個socket用來接收來電或者其他相關的數據來保持你的VOIP服務的連接。根據收到的信息,這個socket要決定下一步的動作。比如一個來電,你會想彈出一個本地的通知來告知用戶;對于其他不是那么關鍵的數據,你可能會想悄悄的處理這些數據并讓系統將應用程序重新中斷。

在IOS中,sockets是用流或者更高級的結構,設置一個VOIP的socket,你只需要在通常的設置中添加一個特殊的key來標明這個接口是用于連接VOIP服務的,下表列出了流的接口和設置:

設置流接口用于voip
 
接口

設置

  1. NSInputStream 和NSOutputStream 

對于 Cocoa streams, 使用 setProperty:forKey: 方法添加

  1. NSStreamNetworkServiceType  
  2.  屬性給   
  3. stream.   
  4. 改屬性的值設為  
  5.  NSStreamNetworkServiceTypeVoIP.  
  6. NSURLRequest 

對于 URL loading system, 使用 setNetworkServiceType:

  1. method of your NSMutableURLRequest object to set the network service  
  2. type of the request. The service type should be set to  
  3. NSURLNetworkServiceTypeVoIP. 

CFReadStreamRef和CFWriteStreamRef

  1.  For Core Foundation streams, use the CFReadStreamSetProperty or  
  2. CFWriteStreamSetProperty function to add the kCFStreamNetwork-  
  3. ServiceType property to the stream. The value for this property should be  
  4. set to kCFStreamNetworkServiceTypeVoIP. 

(注意:當設置socket的時候,你需要在你的主信號通道中設置合適的service type key。當設置聲道時,不需要設置這個key)

由于,VOIP應用程序需要一直運行以確保收到來電,所以如果程序通過一個非零的exit code退出,系統將自動重啟這個應用程序(這種退出方式可以發生在內存壓力大時終止程序運行)。盡管如此,中斷應用程序會release所有的sockets,包括那個用于連接voip 服務的socket。因此,當程序運行時,它需要一直從頭創建socket。

C、 為了防止斷連,voip程序需要定期被喚醒去檢查它的服務。為了容易實現這個行為,IOS通過使用(UIApplication setKeepAliveTimeout:handler:)方法建立一個特殊的句柄。你可以在applicationDidEnterBackground方法中建立該句柄。一旦建立,系統至少會在超時之前調用該句柄一次,來喚醒你的應用程序。

這個keep-alive handler在后臺執行,必須盡快的返回參數,它有最多30秒的時間來執行所需的任務,如果這段時間內句柄沒有返回,那么系統將終止應用程序。

當你建立了handler之后,確定應用程序所需的最大超時。系統保證會在最大超時之前調用handler,但是這個時間是不確定的,所以你的handler必須在你申明的超時之前做好執行程序的準備。

D、設置audio session,詳見Audio Session Programming Guide.

在后臺完成有限長度的任務

在被終止之前的任意時間,應用程序會調用beginBackgroundTaskWithExpirationHandler:方法讓系統給出額外的時間來完成一些需要在后臺長時間執行的任務。(UIApplication的backgroundTimeRemaining屬性包含程序運行的總時間)

可以使用task completion去保證那些比較重要但是需要長時間運行的程序不會由于用戶切入后臺而突然關閉。比如,你可以用這項功能來將用戶的信息保存到disk上或者從網絡下載一個重要的文件。有兩種方式來初始化這樣的任務:

1、將長時間運行的重要任務用beginBackgroundTaskWithExpirationHandler:和endBackgroundTask:包裝。這樣就在程序突然切入后臺的時候保護了這些任務不被中斷。

2、當你的應用程序委托applicationDidEnterBackground:方法被調用時再啟動任務

中的兩個方法必須是一一對應的,endBackgroundTask:方法告訴系統任務已經完成,程序在此時可以被終止。由于應用程序只有有限的時間去完成后臺任務,你必須在超時或系統將要終止這個程序之前調用這個方法。為了避免被終止,你也可以在一個任務開始的時候提供一個expiration handler和endBackgroundTask:方法。(可以查看backgroundTimeRemaining屬性來確定還剩多少時間)。

一個程序可以同時提供多個任務,每當你啟動一個任務的時候,beginBackgroundTaskWithExpirationHandler:方法將返回一個獨一無二的handler去識別這個任務。你必須在endBackgroundTask:方法中傳遞相同的handler來終止該任務。

  1. Listing 4-2 Starting a background task at quit time  
  2. - (void)applicationDidEnterBackground:(UIApplication *)application  
  3. {  
  4. UIApplication* app = [UIApplication sharedApplication];  
  5. bgTask = [app beginBackgroundTaskWithExpirationHandler:^{  
  6. [app endBackgroundTask:bgTask];  
  7. bgTask = UIBackgroundTaskInvalid;  
  8. }];  
  9. // Start the long-running task and return immediately.  
  10. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,  
  11. 0), ^{  
  12. // Do the work associated with the task.  
  13. [app endBackgroundTask:bgTask];  
  14. bgTask = UIBackgroundTaskInvalid;  
  15. });  

上述例子中,bgTask變量是一個類的成員變量,存儲著指向該后臺任務標示的指針。

在expriation handler中,可以添加關閉任務所需的代碼。盡管如此,加入的代碼不能執行太長的時間,當expriation handler被調用的時候,該程序已經非常接近被關閉,所以只有極短的時間來清除狀態信息并終止任務。

安排Local Notification的傳遞

UILocalNotification類提供了一種方法來傳遞local notifications。和push notifications需要設置remote server不同,local notifications 在程序中安排并在當前的設備上執行。滿足如下條件可以使用該能力:

1、一個基于時間的程序,可以在將來特定的時間讓程序post 一個alert,比如鬧鐘

2、一個在后臺運行的程序,post 一個local notification去引起用戶的注意

為了安排local notification 的傳遞,需要創建一個UILocalNotification的實例,并設置它,使用UIApplication類方法來安排它。Local notification對象包含了所要傳遞的類型(sound,alert,或者badge)和時間何時呈現) 。UIApplication類方法提供選項去確定是立即傳遞還是在指定的時間傳遞。

  1. Listing 4-3 Scheduling an alarm notification  
  2. - (void)scheduleAlarmForDate:(NSDate*)theDate  
  3. {  
  4. UIApplication* app = [UIApplication sharedApplication];  
  5. NSArray* oldNotifications = [app scheduledLocalNotifications];  
  6. // Clear out the old notification before scheduling a new one.  
  7. if ([oldNotifications count] > 0)  
  8. [app cancelAllLocalNotifications];  
  9. // Create a new notification.  
  10. UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease];  
  11. if (alarm)  
  12. {  
  13. alarm.fireDate = theDate;  
  14. alarm.timeZone = [NSTimeZone defaultTimeZone];  
  15. alarm.repeatInterval = 0;  
  16. alarm.soundName = @"alarmsound.caf";  
  17. alarm.alertBody = @"Time to wake up!";  
  18. [app scheduleLocalNotification:alarm];  
  19. }  

(可以最多包含128個 local notifications active at any given time, any of which can be configured to repeat at a specified interval.)如果在調用該notification的時候,程序已經處于前臺,那么application:didReceiveLocalNotification:方法將取而代之。

小結:關于詳解在IOS后臺執行的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2023-11-25 09:30:13

Android后臺任務

2023-11-27 19:32:25

Android

2020-06-18 07:49:47

Linux終端程序

2018-09-12 21:25:15

iOSAppcrash

2020-09-21 05:53:28

Linux命令&

2024-10-11 17:13:14

SQL數據庫查詢數據庫

2023-09-21 10:55:51

MysqlSQL語句

2015-06-24 10:06:09

iOS 9適配后臺

2011-08-02 11:07:42

iOS開發 UIWebView

2011-08-03 09:26:49

2014-07-17 14:51:52

2009-03-03 11:51:54

微軟數據庫ACCESS

2010-04-29 14:06:40

Oracle SQL

2019-08-30 07:24:16

2011-08-24 10:31:10

Oracle數據庫進程后臺進程

2011-07-26 17:31:52

iOS 設計模式

2011-08-17 14:20:21

IOS開發GraphicsCon

2014-07-11 09:33:24

iOS 8動作擴展

2021-07-21 16:30:38

iOSAPP架構

2013-04-08 10:27:59

iOSXcode制作靜態庫
點贊
收藏

51CTO技術棧公眾號

神马午夜伦理不卡 | 亚洲欧美日韩一区二区在线 | 国产精品腿扒开做爽爽爽挤奶网站| 精品国产百合女同互慰| 青青在线视频观看| 成人高清在线| 国产自产v一区二区三区c| 欧美xxxx18国产| 国产精品揄拍100视频| 成人网ww555视频免费看| 亚洲精品va在线观看| 国产专区一区二区| 激情网站在线观看| 国产精品豆花视频| 在线观看精品国产视频| 亚洲成人福利视频| www.精品国产| 天天综合网天天综合色| 亚洲不卡1区| 国产丰满果冻videossex| 国产精品丝袜xxxxxxx| 超碰日本道色综合久久综合| 国产又爽又黄无码无遮挡在线观看| 欧美舌奴丨vk视频| 亚洲国产综合视频在线观看| 深夜福利成人| 亚洲色欧美另类| 国产不卡在线一区| 国产日韩欧美中文| 四虎影院在线免费播放| 亚洲伦伦在线| 欧美精品videosex牲欧美| 欧美黄色高清视频| 精品在线手机视频| 日韩成人在线播放| 91超薄肉色丝袜交足高跟凉鞋| 国产福利一区二区三区在线播放| 欧美日韩一区二区精品| 久久久久99精品成人片| 亚洲wwwww| 中文字幕制服丝袜一区二区三区| 欧美一区少妇| 亚洲人在线观看视频| 成人的网站免费观看| 亚洲综合国产精品| 91亚洲精品国偷拍自产在线观看| 日韩成人精品在线| 日本精品一区二区三区在线 | 日韩欧美第一页| 精品人妻大屁股白浆无码| 二区三区在线观看| 亚洲欧美综合另类在线卡通| 亚洲国产日韩综合一区| 77导航福利在线| 国产欧美精品一区| 色综合电影网| www视频在线观看免费| 久久精品人人做| 蜜桃视频在线观看成人| 日韩专区一区二区| 久久女同精品一区二区| 欧美成人在线免费观看| 久久精品蜜桃| 日本一区免费视频| 正在播放久久| 97影院秋霞午夜在线观看| 亚洲视频图片小说| 久久国产精品免费观看| 三级福利片在线观看| 亚洲精品国久久99热| 久久这里只有精品8| 91色在线看| 欧美性高潮床叫视频| 欧美少妇性生活视频| 国产91在线播放精品| 日韩一级大片在线| 玖玖爱在线精品视频| 蜜桃成人av| 精品国产欧美成人夜夜嗨| 三级av在线免费观看| 激情欧美一区| 国产精品av网站| 亚洲天堂男人网| 国产精品乡下勾搭老头1| 国产精品日韩二区| 久久国产精品高清一区二区三区| 中文字幕在线不卡一区二区三区| 日韩精品久久一区二区| 中文字幕影音在线| 欧美日韩精品欧美日韩精品| 黄页网站在线看| 视频小说一区二区| www.久久色.com| 国产真人真事毛片| 欧美一级播放| 亚洲va码欧洲m码| 手机在线观看毛片| 国产精品久久毛片| 日本韩国欧美在线观看| 亚洲在线资源| 日韩成人免费视频| 裸体武打性艳史| 欧美资源在线| av在线不卡一区| 成年在线观看免费人视频| 一区二区在线观看免费| 日韩精品无码一区二区三区免费| 欧美国产视频| 亚洲精品自拍视频| 国产少妇在线观看| 视频一区二区中文字幕| 粉嫩高清一区二区三区精品视频| 国产在线免费观看| 亚洲丶国产丶欧美一区二区三区| 午夜视频你懂的| 久久草在线视频| 久久久久www| 成人a v视频| 成人激情av网| 欧美日韩亚洲国产成人| 波多野结衣久久精品| 欧美一卡二卡三卡| www久久久久久久| 国产日韩欧美三区| 147欧美人体大胆444| 成人免费一区二区三区视频网站| 亚洲综合丝袜美腿| 可以看污的网站| 国内黄色精品| 日本精品久久久| 成人毛片视频免费看| 国产精品美女久久福利网站| 精品一区二区中文字幕| 伊人久久影院| 久久艳片www.17c.com| 国产精品传媒在线观看| 99精品国产91久久久久久| 国产成人在线小视频| 日韩在线电影| 综合网中文字幕| 天堂中文字幕在线观看| 成人久久视频在线观看| 日韩一级特黄毛片| 国产一精品一av一免费爽爽| 伊人av综合网| 乱子伦一区二区三区| 久久婷婷综合激情| 久久国产乱子伦免费精品| 日韩激情毛片| 97超级碰碰人国产在线观看| 日韩一级片免费看| 亚洲第一久久影院| zjzjzjzjzj亚洲女人| 亚洲国产专区| 国产综合欧美在线看| 51av在线| 亚洲福利精品在线| 久久狠狠高潮亚洲精品| av一二三不卡影片| 国产精品裸体瑜伽视频| 青青草这里只有精品| 欧美又大又粗又长| 国产精品视频二区三区| 91福利视频网站| 人妻互换一区二区激情偷拍| 老色鬼精品视频在线观看播放| 一区二区精品在线| 国产精品久一| 久久久久久久爱| 污污的视频网站在线观看| 欧美小视频在线| 先锋影音av在线| 九色porny丨国产精品| 无码人妻aⅴ一区二区三区日本| 久久久久久久久久久久电影| 欧美激情在线视频二区| 视频二区在线| 欧美日韩黄色一区二区| 久久久精品国产sm调教网站| bt欧美亚洲午夜电影天堂| 不卡影院一区二区| 久久精品av| 成人免费视频网站| 神马久久午夜| 色妞欧美日韩在线| 亚洲黄色在线播放| 色狠狠av一区二区三区| 小早川怜子一区二区的演员表| 岛国av在线一区| 成人一区二区三| 欧美成人一品| 欧美精品一区二区三区久久| 亚洲精品tv| 国外成人性视频| 在线看av的网址| 亚洲国产精品系列| 亚洲影视一区二区| 黑人巨大精品欧美一区二区三区 | 国产女同性恋一区二区| 伊人精品视频在线观看| 亚洲精品孕妇| 亚洲欧洲精品一区二区精品久久久 | 久久久精品91| 国产亚洲一区二区三区在线观看| 亚洲欧美偷拍另类| 亚洲二区精品| 青少年xxxxx性开放hg| 卡通动漫国产精品| 国产日韩综合一区二区性色av| av福利在线导航| 中文字幕在线国产精品| 天天操天天操天天| 51精品秘密在线观看| 欧美 日韩 精品| 亚洲精品视频在线观看免费| 色无极影院亚洲| 国产成人免费网站| 亚洲污视频在线观看| 亚洲日本激情| 性生活免费观看视频| 国产探花一区| 加勒比在线一区二区三区观看| 日韩在线激情| 国产精品普通话| 在线高清av| 欧美高清不卡在线| 麻豆传媒免费在线观看| 国产亚洲视频在线观看| 无码国产精品一区二区免费16| 欧美一区二区三区在线电影| 性高潮视频在线观看| 午夜电影一区二区| 久久成人在线观看| 中文字幕制服丝袜成人av| 91精品国自产在线| 91免费版在线看| 欧美色图校园春色| 精品无人区卡一卡二卡三乱码免费卡| aaa毛片在线观看| 国产欧美高清| cao在线观看| 红桃视频亚洲| 丁香六月激情网| 综合国产精品| 天堂а√在线中文在线| 婷婷久久国产对白刺激五月99| 污视频在线免费观看一区二区三区 | 午夜日韩视频| 看全色黄大色大片| 亚洲国产精品日韩专区av有中文| 五月婷婷综合色| 国产精品99视频| 中文字幕av日韩精品| 久久久精品久久久久久96| 一本一本a久久| 日韩欧美国产精品综合嫩v| 亚洲精品人成| 欧美wwwww| 黄色一级视频播放| 亚洲一区 二区 三区| 欧美一级中文字幕| 狠狠爱www人成狠狠爱综合网 | 欧美专区一区二区三区| 美女网站免费观看视频| 日韩精品一二区| 亚洲免费av一区| 国产精品资源网| 欧美熟妇精品一区二区蜜桃视频 | 国产毛片久久久久久久| 欧美国产日本视频| 黄色录像免费观看| 一区二区三区精品久久久| 日本一区二区不卡在线| 色综合久久66| 在线免费观看高清视频| 欧美一区二区黄色| 天堂中文在线看| 一级做a爰片久久毛片美女图片| 在线国产91| 欧美精品成人在线| 小视频免费在线观看| 国产精品美女久久久免费| 精品伊人久久| 国产综合 伊人色| 精品国产一区二区三区噜噜噜 | 女人色偷偷aa久久天堂| 日韩伦理在线免费观看| 久久精品人人做人人爽电影蜜月| 高清一区二区视频| 国产老肥熟一区二区三区| 99re久久精品国产| 国产精品嫩草99a| 国产精品第56页| 91久久精品网| 国产黄色一级大片| 亚洲精选在线观看| 成人在线观看亚洲| 日本在线观看天堂男亚洲| 二区三区精品| 久久伦理网站| 亚洲成人二区| 红桃av在线播放| 国产精品亚洲第一区在线暖暖韩国 | 免费无遮挡无码永久在线观看视频| 精品人伦一区二区三区蜜桃免费| 伊人成人在线观看| 亚洲精品国产电影| 日本福利在线| 2019中文字幕在线观看| 久久wwww| 日本一区高清在线视频| 亚洲二区免费| 国产又黄又猛的视频| 2020国产精品| 欧美亚洲日本在线| 欧美亚洲国产怡红院影院| 国模私拍视频在线| 久久成年人免费电影| 久久久一本精品| 狠狠色综合色区| 亚洲综合婷婷| 日本免费色视频| 久久久91精品国产一区二区精品 | 午夜影院免费观看视频| 久久精品在线观看| 日本午夜精品理论片a级app发布| 91精品国产一区二区人妖| chinese偷拍一区二区三区| 91精品国产高清久久久久久久久| 日韩在线观看中文字幕| 亚洲欧洲日夜超级视频| 日韩高清不卡一区二区| 中国极品少妇videossexhd| 亚洲精品成人在线| 国产欧美日韩综合精品一区二区三区 | 97香蕉超级碰碰久久免费的优势| 精品国产一区二区三区2021| 一区二区三区在线视频111| 肉色丝袜一区二区| 好吊一区二区三区视频| 亚洲电影一区二区三区| 亚洲AV无码国产精品午夜字幕| 久久精品一区中文字幕| 欧美videos粗暴| 亚洲免费视频一区| 欧美96一区二区免费视频| 一区二区三区在线观看免费视频| 色婷婷久久99综合精品jk白丝| 日本在线视频1区| 69精品小视频| 日韩在线黄色| 国产在线青青草| 91麻豆精品秘密| 亚洲欧美偷拍视频| 亚洲欧美一区二区三区四区| 最新中文字幕在线播放| 欧美大香线蕉线伊人久久| 亚洲影院在线| 在线免费观看日韩av| 欧美性感美女h网站在线观看免费| 欧美xxx.com| 国产精品第二页| 欧美在线电影| 中日韩av在线播放| 亚洲自拍偷拍图区| 黑人乱码一区二区三区av| 性欧美xxxx| 综合亚洲色图| 欧美一级黄色影院| 国产精品美女久久久久久久久久久| 在线播放一级片| 久久综合电影一区| 9l视频自拍蝌蚪9l视频成人| 少妇无码av无码专区在线观看 | 欧美一区永久视频免费观看| caoporn免费在线| 国产精品日韩欧美一区二区三区| 新狼窝色av性久久久久久| 一道本在线观看| 欧美日韩免费不卡视频一区二区三区 | 国产精品成人网站| 国产视频欧美视频| 日韩毛片网站| 国产精品久久久久7777| 久久久青草青青国产亚洲免观| 亚洲综合成人av| 久久99国产综合精品女同| 欧美色图五月天| 亚洲精品20p| 午夜精品成人在线| 在线免费av电影| 国产一区二区无遮挡| 奇米888四色在线精品| xxxx日本少妇| 亚洲欧美日韩国产成人| 韩国三级大全久久网站| 国产极品美女高潮无套久久久| 亚洲日本在线观看| 瑟瑟在线观看| 亚洲自拍偷拍一区|