• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Swift對Objective—C開發(fā)的移動應(yīng)用程序優(yōu)化

    2018-01-19 11:35:34李亞欣蔡永香鄧舒穎
    軟件導(dǎo)刊 2018年10期

    李亞欣 蔡永香 鄧舒穎

    摘 要:針對動態(tài)頁面代碼編寫冗長、前臺數(shù)據(jù)庫更新方式待優(yōu)化等問題,基于Swift與Objective-C混編技術(shù)對早期Objective-C移動應(yīng)用程序進(jìn)行優(yōu)化,既充分利用由Objective-C語言封裝好的第三方工具,又利用Swift的語言特點,如屬性觀察器優(yōu)化動態(tài)頁面簡化程序邏輯、提高軟件各項性能等;對前臺數(shù)據(jù)庫設(shè)計進(jìn)行優(yōu)化,實現(xiàn)用戶數(shù)據(jù)分開存儲、數(shù)據(jù)庫按需更新等功能。對優(yōu)化后的程序進(jìn)行測試,結(jié)果表明,應(yīng)用功能得到完善,系統(tǒng)性能得到提高。

    關(guān)鍵詞:iOS;程序優(yōu)化;Swift;Objective-C

    DOIDOI:10.11907/rjdk.181106

    中圖分類號:TP392

    文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2018)010-0178-05

    英文摘要Abstract:Some problems exist in the early mobile Apps based on Objective-C including tediously long code on dynamic pages,unreasonable updating methods for foreground database,etc.Therefore,this paper optimizes the early code programming by taking advantages of both Swift and Objective-C programming technology.This method can make the utmost of the excellent third-party tools encapsulated by Objective-C code as well as use Swift′s features of which is like using the Property Observer to simplify procedures and improving the performance of software and so on.In addition,it optimizes the foreground database design and achieves the functions of storing the user data separately,updating the database as needed,etc.And the experimental result indicates that the function of application is improved and the performance of system is enhanced after using this method.

    英文關(guān)鍵詞Key Words:iOS; program optimization; Swift; Objective-C

    0 引言

    隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,應(yīng)用軟件逐漸由PC端轉(zhuǎn)向移動端[1],移動端應(yīng)用尤其是iOS應(yīng)用繁多。目前,相關(guān)研究多以設(shè)計為主,如趙杏杏[2]關(guān)于移動水利信息APP的設(shè)計與實現(xiàn)、王大鵬[3]基于iOS的外賣APP設(shè)計與實現(xiàn)、劉磊[4]基于iOS的校園OA管理系統(tǒng)設(shè)計、尚燕濤[5]基于iOS的移動診所系統(tǒng)等,而對于應(yīng)用過程中可能遇到的問題、相應(yīng)解決方法及優(yōu)化方案的研究相對較少。崔璨[6]基于iOS系統(tǒng)的MOOC學(xué)習(xí)APP優(yōu)化策略研究,也只針對APP功能方面的優(yōu)化,未考慮軟件性能優(yōu)化。曾晨曦[7]考慮了性能優(yōu)化卻缺乏具體事例分析。為此,本文結(jié)合具體事例研究了應(yīng)用可能存在的問題及解決方法,不僅優(yōu)化軟件功能,而且對性能也加以考慮。

    “油訊通”是一款面向油氣行業(yè)的輔助辦公類APP,提供油氣行業(yè)資訊的便捷獲取、通知公告的實時發(fā)送與接收、群組內(nèi)部、員工之間的實時互動交流等功能[8],相繼推出了Android及iOS版本,用戶可分別在安卓市場及蘋果AppStore上下載使用。早期的iOS版用Objective-C(之后簡稱ObjC)語言編寫,ObjC由 C語言衍生,繼承了C語言特性,是擴(kuò)充C的面向?qū)ο缶幊陶Z言。ObjC語言運行速度快,動態(tài)運行環(huán)境適合UI編程[9],并且累積了豐富的第三方工具,但其語法形式與主流語言差異大,對編寫人員要求較高,語言安全性也略顯不足?!坝陀嵧ā盇PP在測試運行一段時間后發(fā)現(xiàn)存在如下問題:①代碼冗長,不利于后期管理維護(hù);②運行速度和內(nèi)存占用有待改善;③用戶部分個人信息在同一部手機(jī)上不能按用戶區(qū)分顯示,如新聞信息是否被當(dāng)前用戶查看、用戶的收藏信息等;④版本更新中涉及到前臺數(shù)據(jù)庫結(jié)構(gòu)發(fā)生變化的版本,不能一鍵更新。

    Swift是Apple公司在2014發(fā)布的一門開源編程語言,用來撰寫Mac OS X和iOS應(yīng)用程序[10]。Swift相較于ObjC語言具有更加安全、高效、便捷的特點,使用Swift語言能很好地提高軟件性能、降低開發(fā)難度、優(yōu)化多項應(yīng)用功能,因此本文采用Swift語言進(jìn)行優(yōu)化處理。

    1 Swift優(yōu)化思路

    優(yōu)化過程不是將原有應(yīng)用重建,而是在充分利用原有應(yīng)用優(yōu)點的同時,彌補其不足,增強其性能。與ObjC相較,Swift語言具有更加安全、高效、便捷的特點,繼承了ObjC語言優(yōu)點、規(guī)避其缺點并可與ObjC混合編寫。

    1.1 簡化代碼、優(yōu)化速度與內(nèi)存

    Swift簡化了ObjC晦澀的語法,如取消頭文件改為點語法,不需要在行末添加“;”進(jìn)行標(biāo)記等。對基本語句如switch語句功能進(jìn)行擴(kuò)展,加入惰屬性、計算屬性、屬性觀察器等新元素,極大地拓展了編程思路,簡化了程序固有邏輯。Swift綜合了編譯型語言和解釋型語言優(yōu)點,編譯速度更快[11]。Swift提供的Playground功能可在撰寫代碼的同時實時顯示運行結(jié)果,真正實現(xiàn) “所見即所得”,提高了調(diào)試效率[12]。考慮到使用一些優(yōu)秀且成熟的第三方工具如FMDB、AFNetworking等,有利于提高編程效率,而這些工具大多由ObjC語言編寫、封裝。因此,基于Swift與ObjC混編技術(shù)對“油訊通”APP進(jìn)行優(yōu)化,既能充分利用ObjC語言封裝好的優(yōu)秀第三方工具,又能利用Swift優(yōu)秀的語言特點,減少開發(fā)時間,降低開發(fā)難度。

    1.2 采用面向用戶的多數(shù)據(jù)庫存儲模式

    傳統(tǒng)應(yīng)用中前臺僅存在一個SQLite數(shù)據(jù)庫存儲應(yīng)用數(shù)據(jù)。當(dāng)用戶需要存儲并顯示個性化數(shù)據(jù)如操作印記時,僅通過在該數(shù)據(jù)庫中創(chuàng)建多個用戶數(shù)據(jù)表滿足需求,無疑增加了開發(fā)人員甄別數(shù)據(jù)的難度,這種情況下依據(jù)用戶創(chuàng)建與之對應(yīng)的數(shù)據(jù)庫是一個有效的解決方案。使用多數(shù)據(jù)庫存儲模式,將數(shù)據(jù)庫名依據(jù)用戶信息加以區(qū)分,庫內(nèi)數(shù)據(jù)表命名規(guī)則相同,程序中同一套邏輯操作可應(yīng)用于不同用戶的數(shù)據(jù)庫。此外,為減少多數(shù)據(jù)庫增加內(nèi)存占用問題,為應(yīng)用添加對非主要用戶數(shù)據(jù)庫的清理功能,以便對這些用戶進(jìn)行數(shù)據(jù)清理。

    1.3 前臺數(shù)據(jù)庫版本按需更新

    前臺數(shù)據(jù)庫用于滿足基本數(shù)據(jù)存取,一般情況下數(shù)據(jù)結(jié)構(gòu)不會發(fā)生改變,但有時隨著應(yīng)用需求的改變或版本變更,新版本可能會涉及到其中部分?jǐn)?shù)據(jù)表結(jié)構(gòu)的修改,應(yīng)用更新時需要針對用戶本地數(shù)據(jù)庫狀態(tài)按需執(zhí)行更新操作。這需要開發(fā)人員一方面對前臺數(shù)據(jù)庫更新操作集中管理,另一方面按照一定的規(guī)范以及邏輯滿足不同狀態(tài)下應(yīng)用的更新。

    2 優(yōu)化方法與實施

    2.1 面向用戶的多數(shù)據(jù)庫存儲模式

    創(chuàng)建多個數(shù)據(jù)庫管理多個用戶的個人信息,如圖1所示。用戶登錄時,依據(jù)用戶信息查找是否存在用戶數(shù)據(jù)庫,根據(jù)查找結(jié)果選擇連接已有數(shù)據(jù)庫或創(chuàng)建新數(shù)據(jù)庫,之后進(jìn)行正常數(shù)據(jù)庫操作,運行軟件。

    對比“油訊通”實現(xiàn)前后數(shù)據(jù)庫狀態(tài)。如圖2(a)所示,原應(yīng)用在安裝后創(chuàng)建一個與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)庫并以軟件信息(軟件名)命名該數(shù)據(jù)庫;如圖2(b)所示,根據(jù)不同用戶創(chuàng)建多個與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)庫,并結(jié)合軟件信息與用戶唯一信息(軟件名_用戶賬戶名)命名個人數(shù)據(jù)庫。原用戶登錄時尋找并連接對應(yīng)的數(shù)據(jù)庫,新用戶登錄時以上述命名規(guī)則創(chuàng)建數(shù)據(jù)庫,實現(xiàn)垃圾清理功能時也可以該命名規(guī)則尋找非主用戶數(shù)據(jù)庫進(jìn)行清理操作。

    2.2 前臺數(shù)據(jù)庫版本按需更新

    2.2.1 本地數(shù)據(jù)庫狀態(tài)判斷

    不同用戶手機(jī)上安裝應(yīng)用的版本不同,對應(yīng)前臺數(shù)據(jù)庫的狀態(tài)也存在差異,為使數(shù)據(jù)庫更新時按需執(zhí)行修改操作,需要對用戶本地數(shù)據(jù)庫狀態(tài)進(jìn)行判斷。為此,需要在本地數(shù)據(jù)庫中創(chuàng)建一個版本信息表用以存儲本地數(shù)據(jù)庫版本信息。數(shù)據(jù)庫更新時提取該信息,依據(jù)該信息進(jìn)行數(shù)據(jù)庫對應(yīng)的升級操作。升級完成后,更新表內(nèi)版本信息,以避免下次升級時重復(fù)執(zhí)行已完成的更新操作。

    2.2.2 更新操作集中管理與實施

    開發(fā)人員需要將升級操作集中管理以便應(yīng)用提取到用戶本地數(shù)據(jù)庫的狀態(tài)信息后,執(zhí)行相應(yīng)的升級操作。采用switch語句實現(xiàn)數(shù)據(jù)庫狀態(tài)的判斷以及更新操作的集中管理。數(shù)據(jù)庫版本信息使用遞增數(shù)字進(jìn)行記錄,每個case對應(yīng)一個版本下的升級操作,使用fallthrough實現(xiàn)case間“擊穿”功能:

    Switch dbVersion{

    case 1:

    //數(shù)據(jù)庫更新操作1

    //數(shù)據(jù)庫版本信息更新為2

    fallthrough

    case 2:

    //數(shù)據(jù)庫更新操作2

    //數(shù)據(jù)庫版本信息更新為3

    fallthrough

    default:break

    }

    數(shù)據(jù)庫更新時,提取本地數(shù)據(jù)庫版本信息,利用switch找到對應(yīng)的case,完成該case以及之后case中所有升級操作,同時修改對應(yīng)版本信息。版本信息始終指向下一版本,使每次更新不會重復(fù),直至升級至最新要求。此更新流程不適用于前期數(shù)據(jù)庫設(shè)計存在重大漏洞、后期需要反復(fù)多次修改前臺數(shù)據(jù)庫的應(yīng)用。更新操作見圖3。

    2.2.3 前臺數(shù)據(jù)庫整體運行流程

    結(jié)合多數(shù)據(jù)庫存儲方式,前臺數(shù)據(jù)庫整體運行流程如圖4所示。新建數(shù)據(jù)庫時,以最新的表結(jié)構(gòu)創(chuàng)建各數(shù)據(jù)表,并創(chuàng)建版本信息表存入當(dāng)前最新信息;已經(jīng)存在的數(shù)據(jù)庫在連接后,需要判斷是否需要更新。對數(shù)據(jù)庫內(nèi)無版本信息表的數(shù)據(jù)庫,創(chuàng)建版本信息表存入初始信息,以該信息完成所有數(shù)據(jù)庫更新操作。對于數(shù)據(jù)庫內(nèi)存在版本信息表的數(shù)據(jù)庫,提取表內(nèi)版本信息,以該信息執(zhí)行所需的更新操作。這樣,不管數(shù)據(jù)庫處于何種狀態(tài)均能使其達(dá)到最新需求。

    2.3 動態(tài)頁面優(yōu)化

    Swift具有許多便捷且適用的語法特點,屬性觀察器是其中一個優(yōu)秀代表。屬性觀察器能監(jiān)控和響應(yīng)屬性值變化,每當(dāng)其屬性值被設(shè)置就會執(zhí)行相應(yīng)操作[13]。

    以聊天頁面為例,該頁面需要根據(jù)聊天形式(單人聊天或群組聊天)、信息形式(文字、圖片或表情)、信息長度、信息發(fā)送方(本人或他人)、發(fā)送時間等多種條件動態(tài)改變頁面布局。使用ObjC實現(xiàn)時,在判斷上述多項條件后需要調(diào)用不同的操作函數(shù)并傳遞多個參數(shù)控制頁面變化。而使用Swift優(yōu)化時,只需使用屬性觀察器將所需操作封裝,調(diào)用操作時對屬性觀察器簡單賦值即可。

    如圖5所示,Swift工程中聊天頁主要由UIViewController(ChatPage)控制器管理下的UITableView控件組成,每條信息作為一個UITableViewCell(ChatCell)進(jìn)行填充。其中ChatCell樣式如圖6所示,空白部分為UIView(ContentView)控件,用于填充聊天內(nèi)容。

    在ChatCell類中使用如表1所示的4個屬性觀察器封裝其動態(tài)變化,ChatPage類提供改變的條件以及控制UITableView的行高以適應(yīng)ChatCell大小。實驗證明,ChatCell類用屬性觀察器改寫后,代碼量較ObjC版的代碼量減少近40%, ChatPage類代碼量減少近50%,同時靈活性及易用程度都得到了優(yōu)化。

    3 優(yōu)化效果分析

    以Swift語言為編輯語言優(yōu)化“油訊通”APP,在優(yōu)化版本中使用面向用戶型多數(shù)據(jù)庫構(gòu)建方式,在保證其它功能基本一致的前提下,進(jìn)行ObjC版本和Swift版本的多項指標(biāo)對比。

    3.1 文件代碼得到精簡

    ObjC中一個對象文件由后綴名為.m和.h兩個文件組成,而Swift簡化了頭文件.h文件的創(chuàng)建,只需創(chuàng)建后綴名為.swift的一個文件,所以工程內(nèi)文件數(shù)量顯著減少。ObjC工程文件夾下包含1 085個文件,而Swift工程文件夾下僅包含441個文件。ObjC版工程大小為67.1MB,Swift版工程大小為44.3MB,Swift版工程大小較原版工程大小減少近30%。

    3.2 安全隱患減少

    Swift是注重安全性的強類型語言,它將很多ObjC語言中視為警告甚至正常(如類型間的隱式轉(zhuǎn)換)的語法形式加以禁止,極大避免了其可能帶來的安全隱患,將“錯誤扼殺在萌芽之中”[14]。在原版工程中存在近100多條警告提示,而Swift版工程中僅有一條,而且是在橋接第三方工具中出現(xiàn)的警告,這說明新版本在一定程度上減少了安全隱患。

    3.3 內(nèi)存占用量減少

    運行時所產(chǎn)生的內(nèi)存消耗可作為衡量應(yīng)用性能的指標(biāo)。一個運行良好的應(yīng)用在完成固定操作時所占用的內(nèi)存消耗應(yīng)盡可能小,以保證應(yīng)用及手機(jī)整體的運行流暢性[15-16]。本文以功能優(yōu)化中前臺數(shù)據(jù)庫相關(guān)操作以及聊天界面相關(guān)操作為例,對這一指標(biāo)進(jìn)行了測試,測試環(huán)境如下:測試機(jī)器:MAC筆記本,測試系統(tǒng):10.12.6,測試工具:Xcode8.2,測試平臺:iPhone7虛擬器。

    3.3.1 內(nèi)存占用量對比

    前臺數(shù)據(jù)庫相關(guān)操作主要集中在應(yīng)用安裝后首次啟動、用戶登錄以及更換用戶過程,因此分別運行兩版本執(zhí)行上述操作,并記錄其運行時內(nèi)存消耗。圖7、圖8分別為ObjC版和Swift版運行上述操作時內(nèi)存消耗折線圖,統(tǒng)計各個操作完成后測試值趨于穩(wěn)定時(折線保存水平)的內(nèi)存消耗量,見表1。操作過程中Swift版內(nèi)存消耗均比ObjC版有所減少,最高可減少17.2%的運行內(nèi)存占用。由此可知,結(jié)合Swift語言特性,搭建具備版本按需更新的面向用戶型數(shù)據(jù)庫,不僅增強了數(shù)據(jù)庫能力而且可減少應(yīng)用運行內(nèi)存消耗,達(dá)到優(yōu)化效果。

    3.3.2 動態(tài)頁面內(nèi)存占用量對比

    分別加載相同數(shù)量、相同內(nèi)容的聊天信息,測試兩版本聊天界面在運行時的內(nèi)存消耗,如圖9、圖10所示。為排除軟件登錄及頁面跳轉(zhuǎn)等操作所消耗不同內(nèi)存量的影響,可通過計算上述操作后的總內(nèi)存消耗量減去跳轉(zhuǎn)到聊天頁面前的內(nèi)存消耗量的內(nèi)存增量值進(jìn)行比較,得到ObjC版內(nèi)存消耗45.4MB(108MB-62.6MB),Swift版內(nèi)存消耗36MB(82.6MB-46.6MB),Swift版內(nèi)存消耗較ObjC版減少約20.7%,內(nèi)存消耗得以優(yōu)化。

    4 結(jié)語

    本文以Swift和Objective-C混編技術(shù)對早期的 “油訊通”APP進(jìn)行了優(yōu)化,采用面向用戶的多數(shù)據(jù)庫存儲模

    式,以及對數(shù)據(jù)庫進(jìn)行版本管理、按需更新等方法,解決了原版本中代碼冗長、內(nèi)存占用量大、用戶個人信息不能區(qū)分顯示、版本不能一鍵更新等問題。對優(yōu)化前后應(yīng)用程序進(jìn)行對比,結(jié)果表明,這種優(yōu)化方法使文件代碼得到了精簡,減少了系統(tǒng)安全隱患,程序運行時內(nèi)存占用量減少,軟件性能得到了提高。

    參考文獻(xiàn):

    [1] 李亞格,蘭誠棟.基于iOS的移動辦公系統(tǒng)設(shè)計與性能優(yōu)化[J].計算機(jī)工程,2016,42(7):22-26.

    [2] 趙杏杏,張曉祥.移動水利信息APP模塊的設(shè)計與實現(xiàn)[J].測繪工程,2014,23(7):46-50.

    [3] 王大鵬.基于iOS的外賣APP設(shè)計與實現(xiàn)[D].南昌:南昌大學(xué),2016.

    [4] 劉磊,張賀,田家赫.基于IOS的校園OA管理系統(tǒng)設(shè)計[J].軟件導(dǎo)刊,2015(1):113-114.

    [5] 尚燕濤.基于IOS的移動診所系統(tǒng)[D].廣州:華南理工大學(xué),2016.

    [6] 崔璨,王朋嬌,段婷婷.基于iOS系統(tǒng)的MOOC學(xué)習(xí)APP優(yōu)化策略研究[J].軟件導(dǎo)刊,2017,16(9):10-13.

    [7] 曾晨曦,馬蓁蓁,崔雪然.移動應(yīng)用資源限制分析與iOS應(yīng)用優(yōu)化建議[J].現(xiàn)代電信科技,2016,46(4):10-18.

    [8] 蔡永香,陳帆,周明,等.基于Android的輔助辦公APP的設(shè)計與實現(xiàn)[J].嘉應(yīng)學(xué)院學(xué)報,2017,35(5):13-16.

    [9] 黃兢成.從Objective-C到Swift[J].程序員,2014(7):33-37.

    [10] 楊雯.Swift語言研究[J].電子技術(shù)與軟件工程,2015(11):254-255.

    [11] 萬木君.蘋果公司的Swift語言應(yīng)用前景研究[J].電子技術(shù)與軟件工程,2014(23):66-66.

    [12] 張帆.從Objective-C到Swift的軟件移植研究及實現(xiàn)[D].北京:中國科學(xué)院大學(xué),2015.

    [13] Apple Inc.Welcome to swift.org[EB/OL].https://swift.org/.

    [14] JOAB J.Apple unveils the swift language for iOS and OS X[J].Macworld,2014,31(9):11-12.

    [15] 劉樂廷,李敬兆.IOS內(nèi)存開發(fā)管理機(jī)制的研究[J].計算機(jī)與現(xiàn)代化,2013(3):196-199.

    [16] 胡宗立,祝躍飛,馬亞南,等.Cisco IOS內(nèi)存管理及其脆弱性分析[J].計算機(jī)工程,2011,37(20):24-26.

    (責(zé)任編輯:杜能鋼)

    人人澡人人妻人| 老鸭窝网址在线观看| 亚洲,欧美精品.| 最新的欧美精品一区二区| 99国产综合亚洲精品| 大型av网站在线播放| 国语对白做爰xxxⅹ性视频网站| 亚洲欧美精品自产自拍| 国产精品九九99| videos熟女内射| 永久免费av网站大全| 久久亚洲国产成人精品v| 99re6热这里在线精品视频| 欧美激情极品国产一区二区三区| 免费少妇av软件| 欧美变态另类bdsm刘玥| 午夜福利,免费看| 欧美激情极品国产一区二区三区| 亚洲五月婷婷丁香| 天堂8中文在线网| 少妇 在线观看| 国产免费又黄又爽又色| 亚洲欧美色中文字幕在线| 亚洲精品一区蜜桃| 亚洲国产精品国产精品| 国产日韩欧美在线精品| kizo精华| 国产一区二区激情短视频 | 亚洲av在线观看美女高潮| 久久久久久人人人人人| 啦啦啦啦在线视频资源| 午夜免费成人在线视频| 一级黄色大片毛片| 手机成人av网站| 视频区图区小说| 日韩熟女老妇一区二区性免费视频| 国产欧美日韩精品亚洲av| videosex国产| 99国产精品一区二区蜜桃av | 你懂的网址亚洲精品在线观看| 亚洲国产欧美一区二区综合| 99香蕉大伊视频| 国产男人的电影天堂91| 9色porny在线观看| 咕卡用的链子| 亚洲欧美日韩另类电影网站| 亚洲av成人不卡在线观看播放网 | 国产在线一区二区三区精| 伊人久久大香线蕉亚洲五| 精品人妻一区二区三区麻豆| 欧美黑人精品巨大| 啦啦啦 在线观看视频| 国产有黄有色有爽视频| 交换朋友夫妻互换小说| 在线看a的网站| 免费人妻精品一区二区三区视频| 操出白浆在线播放| 99热网站在线观看| 在线av久久热| 国产高清videossex| 一级毛片我不卡| 18禁观看日本| 成人亚洲精品一区在线观看| 久久久久久亚洲精品国产蜜桃av| 成年人午夜在线观看视频| 在线观看一区二区三区激情| 亚洲一码二码三码区别大吗| 可以免费在线观看a视频的电影网站| 女人爽到高潮嗷嗷叫在线视频| 亚洲国产精品国产精品| 亚洲九九香蕉| 桃花免费在线播放| 免费在线观看视频国产中文字幕亚洲 | 真人做人爱边吃奶动态| 亚洲少妇的诱惑av| 国产精品av久久久久免费| 日本vs欧美在线观看视频| 99久久99久久久精品蜜桃| 日本五十路高清| 欧美日韩综合久久久久久| 汤姆久久久久久久影院中文字幕| bbb黄色大片| 成人国语在线视频| 日韩制服骚丝袜av| 自拍欧美九色日韩亚洲蝌蚪91| 国产精品免费大片| 精品高清国产在线一区| 美女国产高潮福利片在线看| 热re99久久精品国产66热6| 日本五十路高清| 亚洲久久久国产精品| 成人手机av| 亚洲精品久久午夜乱码| 亚洲国产精品国产精品| av网站免费在线观看视频| 久久久精品94久久精品| 国产精品久久久久久精品古装| 中文字幕人妻丝袜一区二区| 极品人妻少妇av视频| 亚洲成人手机| 欧美+亚洲+日韩+国产| 天天躁日日躁夜夜躁夜夜| netflix在线观看网站| 午夜视频精品福利| 久久久国产精品麻豆| 国产成人影院久久av| 在线看a的网站| 青草久久国产| 满18在线观看网站| 91麻豆av在线| 黄色视频在线播放观看不卡| 1024香蕉在线观看| 99热国产这里只有精品6| 国产成人免费无遮挡视频| 韩国精品一区二区三区| 国产免费福利视频在线观看| 国产人伦9x9x在线观看| 久久久久精品国产欧美久久久 | 99热全是精品| 天天躁狠狠躁夜夜躁狠狠躁| 捣出白浆h1v1| 亚洲精品美女久久av网站| 久久久久精品人妻al黑| 电影成人av| 极品人妻少妇av视频| 亚洲欧洲精品一区二区精品久久久| 好男人视频免费观看在线| 涩涩av久久男人的天堂| 高清黄色对白视频在线免费看| 免费不卡黄色视频| svipshipincom国产片| 午夜日韩欧美国产| 午夜免费观看性视频| 亚洲国产精品一区二区三区在线| 日韩av在线免费看完整版不卡| 操出白浆在线播放| 午夜久久久在线观看| 丰满少妇做爰视频| 少妇精品久久久久久久| 欧美亚洲 丝袜 人妻 在线| 我的亚洲天堂| av天堂在线播放| 性色av乱码一区二区三区2| 国产亚洲欧美精品永久| 欧美亚洲日本最大视频资源| 久久人妻福利社区极品人妻图片 | 美女中出高潮动态图| 麻豆av在线久日| 黑人欧美特级aaaaaa片| 国产日韩欧美亚洲二区| 汤姆久久久久久久影院中文字幕| 欧美日韩国产mv在线观看视频| 国产日韩欧美在线精品| 亚洲天堂av无毛| 亚洲成人手机| 国产午夜精品一二区理论片| 日本午夜av视频| 女人爽到高潮嗷嗷叫在线视频| 青春草视频在线免费观看| 免费看十八禁软件| 午夜日韩欧美国产| 欧美激情 高清一区二区三区| 99香蕉大伊视频| 婷婷色综合www| 久久亚洲精品不卡| 国产极品粉嫩免费观看在线| 久久久久国产精品人妻一区二区| 女性生殖器流出的白浆| 夫妻午夜视频| 日韩制服丝袜自拍偷拍| 亚洲激情五月婷婷啪啪| 91九色精品人成在线观看| 久久狼人影院| 又大又黄又爽视频免费| 欧美日韩精品网址| 精品人妻熟女毛片av久久网站| 久久这里只有精品19| 不卡av一区二区三区| 一级毛片女人18水好多 | 性少妇av在线| 97人妻天天添夜夜摸| 日本黄色日本黄色录像| 国产男人的电影天堂91| 妹子高潮喷水视频| 久久99一区二区三区| 国产高清videossex| 晚上一个人看的免费电影| 欧美日韩亚洲综合一区二区三区_| 日韩中文字幕视频在线看片| 久久久久久免费高清国产稀缺| 国产免费现黄频在线看| 日韩av免费高清视频| 另类精品久久| 少妇裸体淫交视频免费看高清 | 亚洲综合色网址| 国产视频一区二区在线看| 日韩视频在线欧美| 国产不卡av网站在线观看| 欧美激情高清一区二区三区| 一区在线观看完整版| 夫妻午夜视频| netflix在线观看网站| 老司机深夜福利视频在线观看 | 精品久久蜜臀av无| 国产成人a∨麻豆精品| 亚洲专区国产一区二区| 久久久欧美国产精品| 51午夜福利影视在线观看| 免费不卡黄色视频| 精品国产国语对白av| 免费在线观看影片大全网站 | 一级,二级,三级黄色视频| 日韩大片免费观看网站| 热99国产精品久久久久久7| 亚洲av在线观看美女高潮| 大香蕉久久网| 国产熟女午夜一区二区三区| 国精品久久久久久国模美| 国产精品国产三级国产专区5o| 一区福利在线观看| 美女主播在线视频| 久久人人爽人人片av| 蜜桃在线观看..| 18禁黄网站禁片午夜丰满| 午夜91福利影院| 亚洲国产精品国产精品| 90打野战视频偷拍视频| 亚洲人成电影观看| av又黄又爽大尺度在线免费看| 午夜免费鲁丝| 悠悠久久av| 欧美日本中文国产一区发布| 免费高清在线观看视频在线观看| 国产高清国产精品国产三级| 国产精品国产三级国产专区5o| 国产不卡av网站在线观看| 国产精品一国产av| av国产精品久久久久影院| 国产免费又黄又爽又色| 一区二区av电影网| 少妇粗大呻吟视频| 汤姆久久久久久久影院中文字幕| 丝袜脚勾引网站| 日韩熟女老妇一区二区性免费视频| 国产精品欧美亚洲77777| 97在线人人人人妻| 国产精品成人在线| 下体分泌物呈黄色| 少妇裸体淫交视频免费看高清 | 午夜日韩欧美国产| 在线天堂中文资源库| 免费久久久久久久精品成人欧美视频| 男女午夜视频在线观看| 日韩伦理黄色片| 亚洲欧美日韩另类电影网站| 久久久久久久久久久久大奶| av不卡在线播放| 看免费成人av毛片| √禁漫天堂资源中文www| 97在线人人人人妻| 亚洲欧美成人综合另类久久久| 久热爱精品视频在线9| 中文字幕人妻丝袜制服| 色播在线永久视频| 亚洲av美国av| 精品一区在线观看国产| 精品人妻在线不人妻| 日韩一卡2卡3卡4卡2021年| 婷婷色av中文字幕| 国产精品偷伦视频观看了| 不卡av一区二区三区| 久久久国产精品麻豆| 亚洲国产精品一区三区| 午夜福利一区二区在线看| 99精品久久久久人妻精品| 侵犯人妻中文字幕一二三四区| 免费女性裸体啪啪无遮挡网站| 黄色怎么调成土黄色| 一个人免费看片子| 一级片免费观看大全| 欧美久久黑人一区二区| a级毛片黄视频| 天堂8中文在线网| 美女视频免费永久观看网站| 岛国毛片在线播放| 一本色道久久久久久精品综合| 久久久久久久精品精品| 男人舔女人的私密视频| 成在线人永久免费视频| 亚洲免费av在线视频| 大片免费播放器 马上看| 日本91视频免费播放| 51午夜福利影视在线观看| 国产精品免费大片| 韩国高清视频一区二区三区| 19禁男女啪啪无遮挡网站| 性少妇av在线| 曰老女人黄片| 尾随美女入室| 精品国产一区二区久久| 欧美 亚洲 国产 日韩一| www.av在线官网国产| 国产高清国产精品国产三级| 国产精品国产av在线观看| 又粗又硬又长又爽又黄的视频| 丝瓜视频免费看黄片| 日本av免费视频播放| 又黄又粗又硬又大视频| 91麻豆精品激情在线观看国产 | 性色av一级| 欧美激情极品国产一区二区三区| 国产精品秋霞免费鲁丝片| 老司机深夜福利视频在线观看 | 亚洲成人国产一区在线观看 | 一区二区三区激情视频| av有码第一页| 中文精品一卡2卡3卡4更新| 久久天躁狠狠躁夜夜2o2o | 人成视频在线观看免费观看| 精品一区二区三区av网在线观看 | 亚洲av日韩精品久久久久久密 | 老司机深夜福利视频在线观看 | 免费看不卡的av| 精品国产乱码久久久久久小说| 中文字幕精品免费在线观看视频| 少妇被粗大的猛进出69影院| 久久精品久久久久久噜噜老黄| 夜夜骑夜夜射夜夜干| 亚洲中文av在线| 国产片内射在线| 黄色 视频免费看| 丁香六月欧美| 丝袜喷水一区| 国产精品 国内视频| 亚洲精品国产色婷婷电影| 狠狠精品人妻久久久久久综合| 天天操日日干夜夜撸| 亚洲 欧美一区二区三区| av线在线观看网站| 午夜福利在线免费观看网站| 日韩制服骚丝袜av| 欧美日韩av久久| 日本黄色日本黄色录像| 性少妇av在线| 啦啦啦中文免费视频观看日本| 久久久久久久久久久久大奶| 国产日韩一区二区三区精品不卡| 好男人电影高清在线观看| 91精品三级在线观看| 亚洲七黄色美女视频| 50天的宝宝边吃奶边哭怎么回事| 亚洲国产精品成人久久小说| 18禁裸乳无遮挡动漫免费视频| 又黄又粗又硬又大视频| 在线天堂中文资源库| 国产成人av激情在线播放| 国产成人一区二区在线| av国产精品久久久久影院| 久久久久精品人妻al黑| xxxhd国产人妻xxx| 国产在线观看jvid| 午夜福利,免费看| 女性生殖器流出的白浆| 久久久久视频综合| 欧美日韩精品网址| 免费在线观看完整版高清| 色婷婷av一区二区三区视频| 精品国产国语对白av| kizo精华| 18禁裸乳无遮挡动漫免费视频| 秋霞在线观看毛片| 欧美 日韩 精品 国产| 操美女的视频在线观看| 一级黄色大片毛片| 久久国产精品大桥未久av| 国产成人啪精品午夜网站| 亚洲专区中文字幕在线| 亚洲一区二区三区欧美精品| 亚洲中文日韩欧美视频| 1024香蕉在线观看| 大话2 男鬼变身卡| 亚洲九九香蕉| 交换朋友夫妻互换小说| 亚洲中文日韩欧美视频| 亚洲久久久国产精品| 亚洲欧洲精品一区二区精品久久久| 精品一区二区三卡| 18禁黄网站禁片午夜丰满| 黄色视频在线播放观看不卡| 国产伦理片在线播放av一区| 成年女人毛片免费观看观看9 | 中文字幕最新亚洲高清| 国产日韩欧美在线精品| 又大又黄又爽视频免费| 亚洲成人免费电影在线观看 | 青青草视频在线视频观看| 天天躁狠狠躁夜夜躁狠狠躁| 久久性视频一级片| 婷婷色综合www| 中文字幕人妻丝袜一区二区| 国产亚洲午夜精品一区二区久久| 亚洲少妇的诱惑av| 久久国产精品大桥未久av| 国产成人a∨麻豆精品| 亚洲中文av在线| av国产精品久久久久影院| 热99久久久久精品小说推荐| 国产男人的电影天堂91| 国产亚洲精品第一综合不卡| 日本午夜av视频| 又紧又爽又黄一区二区| 久久精品人人爽人人爽视色| 美女高潮到喷水免费观看| 亚洲 欧美一区二区三区| 人妻一区二区av| 国产精品三级大全| 国产免费又黄又爽又色| e午夜精品久久久久久久| 亚洲专区中文字幕在线| 成人手机av| 少妇 在线观看| 大型av网站在线播放| 国产免费一区二区三区四区乱码| 国产在线免费精品| 免费在线观看日本一区| 宅男免费午夜| 多毛熟女@视频| 精品亚洲成a人片在线观看| 久久久久久久久久久久大奶| 一区二区三区乱码不卡18| 高清视频免费观看一区二区| 大片电影免费在线观看免费| 国产精品麻豆人妻色哟哟久久| 精品久久久久久电影网| 国产精品久久久久久精品古装| 十八禁人妻一区二区| 97人妻天天添夜夜摸| 免费观看av网站的网址| 亚洲欧美一区二区三区久久| 亚洲国产看品久久| 操美女的视频在线观看| 精品人妻一区二区三区麻豆| 亚洲精品久久久久久婷婷小说| 亚洲欧美精品综合一区二区三区| 岛国毛片在线播放| 少妇猛男粗大的猛烈进出视频| 岛国毛片在线播放| 免费在线观看日本一区| 亚洲久久久国产精品| 50天的宝宝边吃奶边哭怎么回事| 秋霞在线观看毛片| 久久99一区二区三区| 午夜91福利影院| 国产亚洲欧美在线一区二区| 久久青草综合色| 亚洲第一青青草原| 国产精品三级大全| 精品亚洲乱码少妇综合久久| 亚洲精品久久久久久婷婷小说| 国产黄色视频一区二区在线观看| 亚洲欧美一区二区三区黑人| 天堂8中文在线网| 国产欧美日韩精品亚洲av| 国产99久久九九免费精品| 亚洲视频免费观看视频| www.熟女人妻精品国产| 久久久久久久精品精品| 国产欧美日韩一区二区三 | 人体艺术视频欧美日本| 真人做人爱边吃奶动态| 成人亚洲精品一区在线观看| 欧美日韩国产mv在线观看视频| 久久国产精品大桥未久av| √禁漫天堂资源中文www| 少妇精品久久久久久久| 各种免费的搞黄视频| 少妇精品久久久久久久| 日韩大片免费观看网站| 女人高潮潮喷娇喘18禁视频| 色婷婷av一区二区三区视频| 男女午夜视频在线观看| 18禁裸乳无遮挡动漫免费视频| 乱人伦中国视频| 亚洲国产av影院在线观看| 精品人妻一区二区三区麻豆| 日本一区二区免费在线视频| 国产成人欧美| 亚洲天堂av无毛| 欧美 日韩 精品 国产| 欧美日韩福利视频一区二区| 亚洲精品国产av蜜桃| bbb黄色大片| 亚洲图色成人| 国产成人免费观看mmmm| 亚洲欧美激情在线| 男女边摸边吃奶| 欧美乱码精品一区二区三区| 99精国产麻豆久久婷婷| 一本久久精品| videosex国产| 少妇猛男粗大的猛烈进出视频| 人人妻人人爽人人添夜夜欢视频| 啦啦啦在线免费观看视频4| 亚洲av电影在线进入| 人妻人人澡人人爽人人| 国产av精品麻豆| 丰满少妇做爰视频| 性色av乱码一区二区三区2| av不卡在线播放| 久久人妻熟女aⅴ| 青青草视频在线视频观看| 在线天堂中文资源库| 两个人看的免费小视频| 亚洲第一青青草原| 久久久久久久精品精品| 亚洲中文av在线| 咕卡用的链子| 日本a在线网址| 一二三四在线观看免费中文在| 国产亚洲精品久久久久5区| 日本欧美国产在线视频| 美女脱内裤让男人舔精品视频| 亚洲 欧美一区二区三区| 久久亚洲国产成人精品v| 两个人看的免费小视频| 免费少妇av软件| 男女国产视频网站| 老汉色av国产亚洲站长工具| 国产成人免费无遮挡视频| 99国产综合亚洲精品| 亚洲精品日本国产第一区| 男的添女的下面高潮视频| 麻豆乱淫一区二区| 亚洲人成电影免费在线| 久久久久久久国产电影| 国产麻豆69| 一个人免费看片子| 日本vs欧美在线观看视频| 无遮挡黄片免费观看| 国产黄色免费在线视频| 国产一级毛片在线| 老司机午夜十八禁免费视频| tube8黄色片| 久久ye,这里只有精品| 高清视频免费观看一区二区| 久久国产亚洲av麻豆专区| 亚洲成色77777| 高清不卡的av网站| 国产精品一区二区在线观看99| 女人爽到高潮嗷嗷叫在线视频| 满18在线观看网站| 秋霞在线观看毛片| 18禁黄网站禁片午夜丰满| 久久国产精品男人的天堂亚洲| 午夜久久久在线观看| 亚洲,欧美,日韩| 少妇猛男粗大的猛烈进出视频| 黄频高清免费视频| 丝袜脚勾引网站| 国产精品 国内视频| 97人妻天天添夜夜摸| 亚洲美女黄色视频免费看| 国产精品国产三级国产专区5o| av福利片在线| 亚洲国产毛片av蜜桃av| 亚洲精品国产色婷婷电影| 黄色视频不卡| 夜夜骑夜夜射夜夜干| 大型av网站在线播放| 欧美日韩黄片免| 免费不卡黄色视频| 日韩精品免费视频一区二区三区| 欧美国产精品一级二级三级| 熟女av电影| 亚洲 欧美一区二区三区| 精品国产一区二区三区久久久樱花| 女性被躁到高潮视频| 你懂的网址亚洲精品在线观看| 一级a爱视频在线免费观看| 又大又爽又粗| 丝瓜视频免费看黄片| 日韩中文字幕视频在线看片| 久热这里只有精品99| 爱豆传媒免费全集在线观看| 蜜桃在线观看..| 脱女人内裤的视频| 黄频高清免费视频| 国产精品一二三区在线看| 亚洲av成人精品一二三区| 在线观看人妻少妇| 欧美精品av麻豆av| 大香蕉久久网| 久久精品亚洲熟妇少妇任你| 中文欧美无线码| 精品亚洲成a人片在线观看| 精品一区在线观看国产| 老汉色av国产亚洲站长工具| 好男人视频免费观看在线| 满18在线观看网站| 一边摸一边抽搐一进一出视频| 免费人妻精品一区二区三区视频| 美女视频免费永久观看网站| 一本色道久久久久久精品综合| 亚洲国产精品999| 一区二区三区四区激情视频| 人人妻人人澡人人爽人人夜夜| 老司机亚洲免费影院| 国产精品一国产av| tube8黄色片| 成人18禁高潮啪啪吃奶动态图| 久久精品国产亚洲av涩爱| 老司机深夜福利视频在线观看 | 亚洲七黄色美女视频| 国产精品久久久久久精品古装| 成人国语在线视频|