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

    Android內(nèi)存管理機制研究

    2015-12-20 11:06:53宋平波李云楊豪杰
    移動通信 2015年7期
    關(guān)鍵詞:閥值前臺進程

    宋平波,李云,楊豪杰

    (中國電信股份有限公司廣東研究院,廣東 廣州 510630)

    Android內(nèi)存管理機制研究

    宋平波,李云,楊豪杰

    (中國電信股份有限公司廣東研究院,廣東 廣州 510630)

    本文深入分析了Android操作系統(tǒng)的內(nèi)存管理機制以及內(nèi)存回收機制,并針對Android應(yīng)用開發(fā)者提出了有效可實施的建議。

    Android 內(nèi)存管理 內(nèi)存回收

    1 引言

    伴隨國內(nèi)4G的啟動以及各大運營商移動互聯(lián)網(wǎng)流量經(jīng)營的不斷深入,移動互聯(lián)網(wǎng)應(yīng)用將再次迎來飛速增長,移動APP將進一步滲入用戶的基本生活,中國電信也在移動互聯(lián)網(wǎng)應(yīng)用方面做了大量研發(fā)工作。鑒于移動終端操作系統(tǒng)在資源分配、管理以及回收上對應(yīng)用有著更為嚴格的限制,為了能夠使移動APP高效穩(wěn)定的運行,APP開發(fā)人員有必要深入了解移動終端操作系統(tǒng)的內(nèi)存管理機制,并根據(jù)操作系統(tǒng)的限制,合理使用內(nèi)存空間,避免被操作系統(tǒng)強殺,提高APP的可靠性。

    2 Android內(nèi)存管理機制

    2.1 Android與Linux

    Android系統(tǒng)是Google在Linux內(nèi)核基礎(chǔ)上開發(fā),針對移動設(shè)備進行了特殊優(yōu)化的開源操作系統(tǒng)。特別是在內(nèi)存管理機制上,針對移動終端資源特點及移動APP應(yīng)用特點進行了優(yōu)化,當(dāng)進程活動停止后,Android不會立刻結(jié)束這個進程,而是將進程保留在內(nèi)存中,當(dāng)用戶嘗試再次激活此進程時,可以直接復(fù)用內(nèi)存中的數(shù)據(jù)從而提升進程的啟動速度,當(dāng)系統(tǒng)需要更多內(nèi)存時,Android才會將這些進程占用的內(nèi)存釋放。

    同樣,繼承自Linux的Android操作系統(tǒng)也可以通過系統(tǒng)命令“cat/proc/meminfo”查看內(nèi)存使用情況,如圖1所示。其中,MemTotal:總的可用內(nèi)存;MemFree:未被分配空閑的內(nèi)存;Buffers:buffer的大??;Cached:cache的大小;SwapCached:swap緩存的大小,Android很少使用swap,經(jīng)常為0。

    2.2 Android進程回收(LMK)

    (1)進程回收優(yōu)先級

    1)進程優(yōu)先級及oom_adj

    Android是一個多任務(wù)系統(tǒng),即可以同時運行多個程序。操作系統(tǒng)啟動運行一個程序是需要一定系統(tǒng)開銷(CPU、時間等)的。因此,如在2.1節(jié)中提到,為了應(yīng)用再次啟動時的啟動速度,當(dāng)用戶退出一個程序后,Android操作系統(tǒng)仍然會將這個程序保留在內(nèi)存中,當(dāng)程序再次被啟動時就可以快速啟動。當(dāng)系統(tǒng)內(nèi)存出現(xiàn)不足時,Android系統(tǒng)會按照一定的優(yōu)先級,對運行中的程序進行回收,以釋放內(nèi)存。

    圖1 Android手機內(nèi)存使用情況

    如圖2所示,Android操作系統(tǒng)將運行中的進程分為6類,并在內(nèi)存不足時按照空進程(EMPTY_APP)、內(nèi)容供應(yīng)節(jié)點(CONTENT_PROVIDER)、后臺進程(HIDDEN_APP)、次要服務(wù)進程(SECONDARY_ SERVER)、可視進程(VISIBLE_APP)和前臺進程(FOREGROUND_APP)的順序,逐一對進程進行回收。

    圖2 Android進程分類

    Android操作系統(tǒng)為每個進程維護一個oom_adj值,一進程的oom_adj值也就代表了它的優(yōu)先級,oom_adj值越高代表該進程優(yōu)先級越低。各進程含義及oom_adj值如下:

    ◆前臺進程(FOREGROUND)oom_adj:0

    用戶在屏幕上可見的應(yīng)用程序進程,同時也包括(可能不可見的)系統(tǒng)進程或電話服務(wù)進程。最為直接的例子就是用戶正在使用的應(yīng)用程序進程就是前臺進程,而前臺進程的優(yōu)先級最高,也最不容易被系統(tǒng)回收。

    ◆可見進程(VISIBLE)oom_adj:1

    應(yīng)用程序仍然可見,但是已經(jīng)不是前臺進程的應(yīng)用進程。比如:當(dāng)某個前臺應(yīng)用程序被另外一個應(yīng)用程序的通知遮蓋了一部分(通知通常在屏幕正中,但周邊仍然能見到原來的應(yīng)用程序),這時此應(yīng)用程序進程由前臺進程轉(zhuǎn)為了可見進程??梢娺M程的優(yōu)先級仍然較高,僅次于前臺進程。

    ◆次要服務(wù)(SECONDARY SERVER)進程oom_adj:2

    次要服務(wù)指的是系統(tǒng)后臺正在運行的服務(wù)進程(包括系統(tǒng)桌面、UI等服務(wù),但電話、系統(tǒng)底層服務(wù)等主要服務(wù)不在此列,因此命名為次要服務(wù))。后臺運行(不可見)的包含服務(wù)的應(yīng)用進程是次要服務(wù)的主要組成部分,次要服務(wù)的優(yōu)先級低于可見進程。

    ◆后臺進程(HIDDEN)oom_adj:7

    后臺進程指的是不可見的且不包含服務(wù),但仍在運行的應(yīng)用進程。當(dāng)用戶返回桌面時,之前用戶正在使用的應(yīng)用程序如果不包含服務(wù),則此應(yīng)用程序變?yōu)楹笈_進程。

    ◆內(nèi)容供應(yīng)節(jié)點(CONTENT PROVIDER)oom_adj:14

    內(nèi)容供應(yīng)節(jié)點指為其他應(yīng)用提供數(shù)據(jù)內(nèi)容的進程,聯(lián)系人、日歷等進程屬于內(nèi)容供應(yīng)節(jié)點。

    ◆空進程(EMPTY)oom_adj:15

    空進程指在后臺處于掛起狀態(tài)的應(yīng)用進程,沒有任何代碼在執(zhí)行。空進程的優(yōu)先級最低,在LMK工作機制中,屬于最先被回收的類別。

    2)進程回收時機

    除了上述進程優(yōu)先級之外,Android系統(tǒng)還維護著另外一張閥值對應(yīng)表(終端廠家根據(jù)每個型號的手機按照配置和Android版本不同,對具體的閥值做調(diào)整),如表1所示(以Google Nexus One為例):

    表1 oom_adj內(nèi)存閥值表

    這個表定義了一個對應(yīng)關(guān)系,每一個閥值對應(yīng)了一個進程優(yōu)先級(oom_adj),當(dāng)系統(tǒng)的可用內(nèi)存低于某個閥值時,就回收大于該閥值對應(yīng)的進程優(yōu)先級(oom_ adj)的進程。比如,當(dāng)可用內(nèi)存小于6 144*4k=24MB時,開始回收EMPTY_APP進程,直至大于24MB;同理當(dāng)可用內(nèi)存小于5 632*4k=22MB時,開始回收CONTENT_PROVIDER以及EMPTY_APP進程。

    3)操作系統(tǒng)設(shè)置及修改

    操作系統(tǒng)在init.rc文件中分別定義了各個進程的優(yōu)先級以及內(nèi)存閥值,如下方所示:

    # Define the oom_adj values for the classes of processes

    # that can be killed by the kernel

    setprop ro.FOREGROUND_APP_ADJ 0

    setprop ro.VISIBLE_APP_ADJ 1

    setprop ro.SECONDARY_SERVER_ADJ 2

    setprop ro.HIDDEN_APP_ADJ 7

    setprop ro.CONTENT_PROVIDER_ADJ 14

    setprop ro.EMPTY_APP_ADJ 15

    # Define the memory thresholds at which the above process

    # classes will be killed. In pages (4k)

    setprop ro.FOREGROUND_APP_MEM 1536

    setprop ro.VISIBLE_APP_MEM 2048

    setprop ro.SECONDARY_SERVER_MEM 4096

    setprop ro.HIDDEN_APP_MEM 5120

    setprop ro.CONTENT_PROVIDER_MEM 5632

    setprop ro.EMPTY_APP_MEM 6144

    同時,也可以通過修改/sys/module/lowmemory killer/parameters/minfree配置文件來修改各級進程回收的內(nèi)存閥值,比如通過執(zhí)行“echo “1836,2048,40 96,5120,5360,8192”>/sys/module/lowmemorykiller/ parameters/minfree”,可以將操作系統(tǒng)回收EMPTY_ APP進程的內(nèi)存閥值修改為32M。

    (2)進程回收(Low Memory Killer,LMK)

    在(1)小節(jié)中了解到,即使當(dāng)用戶退出應(yīng)用程序之后,應(yīng)用程序的進程也還是存在于系統(tǒng)中,這樣是為了方便程序的再次啟動,但若此,隨著打開的程序數(shù)量的增加,系統(tǒng)的內(nèi)存會變得不足,就需要殺掉一部分進程以釋放內(nèi)存空間,至于是否需要殺死一些進程和哪些進程需要被殺死,是通過Low Memory Killer(LMK)機制來進行判定的。

    Android的Low Memory Killer(LMK)基于Linux的OOM機制,在Linux中,內(nèi)存是以頁面為單位進行分配的,當(dāng)申請頁面分配時如果內(nèi)存不足會通過以下流程選擇bad進程來殺掉從而釋放內(nèi)存。

    在Low Memory Killer中通過進程的oom_adj與占用內(nèi)存的大小決定要殺死的進程,oom_adj越小越不容易被殺死。參考Andoird源碼中l(wèi)owmemorykiller.c的lowmem_shrink函數(shù),計算哪些進程該回收,并發(fā)送SIGKILL信號將該進程殺死。

    3 Android應(yīng)用內(nèi)存管理

    3.1 操作系統(tǒng)限制

    絕大多數(shù)Android應(yīng)用程序本質(zhì)上是一個java進程,運行在Linux內(nèi)核之上的dalvik(可以理解為Android的JVM)虛擬機中,每個Android應(yīng)用的虛擬機均為各自獨立的,因此Android又類似于Java的內(nèi)存管理。

    每個虛擬機所能使用的內(nèi)存按照Android版本以及手機配置各有不同,可以通過下面的系統(tǒng)命令查看每臺手機上每個應(yīng)用能使用內(nèi)存數(shù)量的限制:

    getprop | grep dalvik

    [dalvik.vm.heapgrowthlimit]: [64m]

    [dalvik.vm.heapsize]: [128m]

    3.2 垃圾收集GC(Garbage Collector)

    Java語言引入了垃圾收集機制,程序員不需要像在C/C++中一樣,手工釋放不需要的對象或內(nèi)存區(qū)域,Java虛擬機可以跟蹤內(nèi)存中的所有對象并可以發(fā)現(xiàn)和回收不再使用的對象。從而極大地減少了內(nèi)存泄漏發(fā)生的可能性。

    垃圾收集算法的核心思想是:虛擬機對內(nèi)存中的對象進行監(jiān)控,當(dāng)對象不再被使用(引用數(shù)降為0)時,將對象標為垃圾對象,并在合適的時候?qū)ο筢尫挪⒒厥掌湔加玫膬?nèi)存空間。垃圾回收對于系統(tǒng)性能有著較高的影響,因此開發(fā)人員需要對垃圾回收的算法、回收時機以及相關(guān)系統(tǒng)參數(shù)做深入的了解

    3.3 位圖(Bitmap)資源

    客戶端應(yīng)用為了良好的視覺體驗,經(jīng)常使用大量的圖片進行美化,圖片在內(nèi)存中以位圖(Bitmap)對象來存放。使用Bitmap對象,需要緊記以下2點:

    (1)Bitmap對象占內(nèi)存量僅與圖片的長寬像素數(shù)有關(guān),與原圖的圖片格式或壓縮比例無關(guān)。因此,壓縮JPG圖片的質(zhì)量,而不減少圖片尺寸,是無法降低該圖片占用的內(nèi)存量的。

    (2)根據(jù)Android SDK文檔:“Bitmap data is not allocated in the VM heap. There is a reference to it in the VM heap (which is small), but the actual data is allocated in the Native heap by the underlying Skia graphics library … The Nat?ve heap is shared between running applications, so the amount of free space depends on what other applications are running and their bitmap usage …”,可知Bitmap對象的數(shù)據(jù)并非存放在VM Heap中,而是存放在Native Heap中,而Native Heap的空間是與其他應(yīng)用程序共享的,因此即使應(yīng)用程序申請的內(nèi)存在3.1小節(jié)所述限額之內(nèi),也有可能申請不到內(nèi)存并產(chǎn)生OutOfMemoryError錯誤。

    4 Android應(yīng)用開發(fā)建議

    在第2和第3部分中,描述了Android操作系統(tǒng)的內(nèi)存管理機制以及Android操作系統(tǒng)對于Android應(yīng)用的各種限制,為了讓應(yīng)用能夠更加穩(wěn)定地運行在Android操作系統(tǒng)之上,應(yīng)用開發(fā)者需要根據(jù)Android操作系統(tǒng)的特性,有針對性地優(yōu)化自己的應(yīng)用。

    4.1 針對LMK機制

    首先需要明確一點,沒有任何辦法能夠保證第三方應(yīng)用不被LMK機制回收。但當(dāng)應(yīng)用不希望被操作系統(tǒng)LMK機制主動回收時,建議采用一些優(yōu)化機制:

    (1)盡量提高進程的優(yōu)先級。在應(yīng)用中實現(xiàn)一個Service,可以將進程變?yōu)榇我?wù)(SECONDARY SERVER),在LMK機制中擁有較高的優(yōu)先級,可以降低LMK命中的幾率。

    (2)應(yīng)用進入后臺運行時,盡量在應(yīng)用中保留一個Activity(界面),因為在相同優(yōu)先級的情況下,所有Activity均已關(guān)閉的進程會優(yōu)先被回收。

    (3)依賴于其他優(yōu)先級高的進程。當(dāng)一個進程被其他更高優(yōu)先級的進程所依賴或者為其他更高優(yōu)先級進程提供服務(wù)時,系統(tǒng)會讓此進程享有與高優(yōu)先級進程同樣的優(yōu)先級。例如:當(dāng)某個通信錄應(yīng)用正在向另外一個前臺進程(通過CONTENT PROVIDER提供)提供通信錄內(nèi)容時,即使這個通信錄應(yīng)用沒有任何UI在屏幕上顯示、所有Activity也已經(jīng)關(guān)閉、且CONTENT PROVIDER進程的優(yōu)先級不高,操作系統(tǒng)仍然不會回收這個通信錄應(yīng)用,因為此時通信錄應(yīng)用享有與前臺進程相同的優(yōu)先級。

    4.2 針對GC機制

    根據(jù)3.2小節(jié)中對GC機制的描述,不良的代碼會導(dǎo)致GC機制對程序性能產(chǎn)生影響,并有可能導(dǎo)致內(nèi)存不足等。因此程序員有必要在了解GC機制的基礎(chǔ)上,針對GC特點進行編碼,具體包括:

    (1)盡量不使用靜態(tài)變量

    作為全局變量,靜態(tài)變量會一直占用內(nèi)存,不會被GC回收,有可能導(dǎo)致應(yīng)用內(nèi)存不足。

    (2)盡快釋放不使用的對象

    盡快將不使用的對象設(shè)為null,可以使得該對象盡快被GC回收,提高了GC的效率。

    (3)避免集中創(chuàng)建或者釋放大量的對象

    在短時間內(nèi)大量創(chuàng)建對象,或者大量申請內(nèi)存空間,會導(dǎo)致JVM進行GC以回收內(nèi)存來應(yīng)對應(yīng)用的需求。而大量的GC請求會使得應(yīng)用運行遲緩,導(dǎo)致應(yīng)用用戶體驗下降。

    (4)采用StringBuilder處理字符串累加

    String是固定長的字符串對象,因此累加String對象會導(dǎo)致String對象的頻繁創(chuàng)建,盡量采用StringBuilder來處理字符串累加。

    (5)盡量使用基本類型變量

    基本類型變量比對象變量占用內(nèi)存更小,因此應(yīng)該盡量使用基本類型變量。

    4.3 針對位圖(Bitmap)資源

    由3.3小節(jié)可知,Android中存儲Bitmap數(shù)據(jù)的內(nèi)存區(qū)域是有限的,而且需要與其他應(yīng)用程序共享,即使申請的內(nèi)存總量仍在虛擬機的限額之內(nèi),也可能因為其他應(yīng)用產(chǎn)生了過多Bitmap數(shù)據(jù)而導(dǎo)致內(nèi)存不足,因此小心地使用Bitmap對象,不僅可以使自己的應(yīng)用程序更加穩(wěn)定,也會使得在Android運行環(huán)境上執(zhí)行的其他應(yīng)用程序更加穩(wěn)定。

    (1)及時回收

    當(dāng)應(yīng)用不再使用某個Bitmap對象時,盡量不要等待系統(tǒng)自動釋放,應(yīng)該盡快調(diào)用“recycle()”釋放Bitmap占用的內(nèi)存空間。

    (2)捕獲異常

    在產(chǎn)生Bitmap對象的地方捕捉OutOfMemoryError錯誤,能夠有效地減少因為內(nèi)存不足而造成的應(yīng)用程序崩潰。

    (3)同樣的圖片避免生成多個Bitmap對象

    很多情況下,可能需要在一個Activity里多次用到同一張圖片(如好友列表中的默認頭像等)。此時應(yīng)該盡量使用同一個Bitmap對象,不應(yīng)新建多個Bitmap對象,避免內(nèi)存的浪費。

    (4)盡量避免使用大圖片

    Bitmap對象占用內(nèi)存的空間=圖片長邊像素數(shù)*圖片寬邊像素數(shù)*顏色深度(也就是每位像素占用的內(nèi)存數(shù))??梢夿itmap對象占用的內(nèi)存空間與圖片的像素成正比,當(dāng)圖片太大時,很容易引發(fā)內(nèi)存不足。根據(jù)圖片顯示區(qū)域的大小,使用BitmapFactory.Options設(shè)置inSampleSize縮小圖片,可以有效地減少大圖片對內(nèi)存的影響。

    5 結(jié)束語

    移動互聯(lián)網(wǎng)正在飛速發(fā)展,Android設(shè)備正在飛速普及,本文有針對性地介紹了Android操作系統(tǒng)內(nèi)存管理方面的機制,并針對Android應(yīng)用開發(fā)者提出了有效可實施的建議。

    [1] Google Inc. Android源代碼[EB/OL]. [2014-08-27]. http://code.google.com/p/android/.

    [2] Google Inc. Android SDK文檔[EB/OL]. [2014-08-27]. http://developer.android.com.

    [3] 池?zé)槼? Java垃圾收集的機制及調(diào)優(yōu)[J]. 計算機應(yīng)用研究, 2004(3): 144-148.

    [4] 柯元旦. Android內(nèi)核剖析[M]. 北京: 電子工業(yè)出版社, 2011.

    [5] Cay S Horstmann, Gray Cornell. Java核心技術(shù)[M]. 周立新,陳波,葉乃文,等,譯. 北京: 機械工業(yè)出版社, 2014. ★

    宋平波:碩士畢業(yè)于英國紐卡斯爾大學(xué)通信及信號處理專業(yè),現(xiàn)任職于中國電信股份有限公司廣東研究院,主要研究方向為移動互聯(lián)網(wǎng)應(yīng)用、電子商務(wù)等電信級平臺開發(fā)。

    李云:學(xué)士畢業(yè)于哈爾濱工業(yè)大學(xué)電子與通信工程系,現(xiàn)任職于中國電信股份有限公司廣東研究院,主要研究方向為移動互聯(lián)網(wǎng)應(yīng)用、搜索引擎、電子商務(wù)等電信級平臺開發(fā)。

    楊豪杰:碩士畢業(yè)于中山大學(xué)軟件學(xué)院,現(xiàn)任職于中國電信股份有限公司廣東研究院,主要研究方向為移動互聯(lián)網(wǎng)應(yīng)用平臺開發(fā)。

    Research on Android Memory Management

    SONG Ping-bo, LI Yun, YANG Hao-jie
    (Guangdong Research Institute of China Telecom Co., Ltd., Guangzhou 510630, China)

    In this paper, the memory management and memory deallocation schemes of Android operating system were analyzed in depth. Then, effective suggestions targeted at Android application developers were put forward.

    Android memory management memory deallocation

    10.3969/j.issn.1006-1010.2015.07.020

    TP311.1

    A

    1006-1010(2015)07-0092-05

    宋平波,李云,楊豪杰. Android內(nèi)存管理機制研究[J]. 移動通信, 2015,39(7): 92-96.

    2014-08-29

    責(zé)任編輯:劉文竹 liuwenzhu@mbcom.cn

    猜你喜歡
    閥值前臺進程
    債券市場對外開放的進程與展望
    中國外匯(2019年20期)2019-11-25 09:54:58
    光敏傳感器控制方法及使用其的滅蚊器
    傳感器世界(2019年6期)2019-09-17 08:03:20
    公路電助力 從幕后走向前臺
    中國自行車(2018年6期)2018-07-23 03:17:24
    孟晚舟:從前臺打雜到華為副總裁
    海峽姐妹(2018年6期)2018-06-26 07:27:15
    基于小波分析理論的橋梁監(jiān)測信號去噪研究
    激光多普勒測速系統(tǒng)自適應(yīng)閥值檢測算法
    前臺、后臺精彩花絮停不了
    網(wǎng)站前臺設(shè)計分包合同中應(yīng)注意的問題
    深度學(xué)習(xí)在無人駕駛汽車中的應(yīng)用
    社會進程中的新聞學(xué)探尋
    精品久久国产蜜桃| 久久精品国产亚洲av香蕉五月| 亚洲欧美清纯卡通| 少妇的逼好多水| 国产精品综合久久久久久久免费| 亚洲人成网站高清观看| 国产 一区 欧美 日韩| 国产精品人妻久久久久久| 国产精品一区二区三区四区免费观看 | 亚洲精品成人久久久久久| 老司机午夜十八禁免费视频| 丁香欧美五月| 亚洲真实伦在线观看| 大型黄色视频在线免费观看| 亚洲中文字幕日韩| 中文字幕高清在线视频| 极品教师在线视频| 最近视频中文字幕2019在线8| 欧美午夜高清在线| 亚洲国产精品999在线| 五月伊人婷婷丁香| 一区二区三区四区激情视频 | 国产精品98久久久久久宅男小说| 欧美乱色亚洲激情| 极品教师在线视频| 一夜夜www| 亚洲欧美日韩无卡精品| 亚洲精品在线美女| 日韩免费av在线播放| 91av网一区二区| 香蕉av资源在线| 亚洲欧美精品综合久久99| 亚洲七黄色美女视频| 欧美性感艳星| 亚洲av美国av| 婷婷精品国产亚洲av在线| 老司机深夜福利视频在线观看| 国产 一区 欧美 日韩| 最新在线观看一区二区三区| 亚洲avbb在线观看| 亚洲av五月六月丁香网| 免费av不卡在线播放| 国产精品国产高清国产av| 乱码一卡2卡4卡精品| 青草久久国产| 18美女黄网站色大片免费观看| 国产精品女同一区二区软件 | 午夜精品久久久久久毛片777| 中文字幕精品亚洲无线码一区| 简卡轻食公司| 亚洲av电影在线进入| 一a级毛片在线观看| 久久精品91蜜桃| 好看av亚洲va欧美ⅴa在| 国产老妇女一区| 人人妻,人人澡人人爽秒播| 男女下面进入的视频免费午夜| 亚洲乱码一区二区免费版| 亚洲专区国产一区二区| 尤物成人国产欧美一区二区三区| 99久久精品国产亚洲精品| 欧美xxxx性猛交bbbb| 国产久久久一区二区三区| 国产探花极品一区二区| 国产视频一区二区在线看| 免费看光身美女| 亚洲午夜理论影院| 首页视频小说图片口味搜索| 日韩亚洲欧美综合| 久久午夜福利片| 女人十人毛片免费观看3o分钟| 18禁裸乳无遮挡免费网站照片| 日本三级黄在线观看| 欧美日韩瑟瑟在线播放| 精品一区二区免费观看| 最近在线观看免费完整版| 午夜福利成人在线免费观看| 久久伊人香网站| 老鸭窝网址在线观看| 男女床上黄色一级片免费看| 久久精品国产清高在天天线| 午夜影院日韩av| 亚洲成人精品中文字幕电影| 免费高清视频大片| 亚洲人成电影免费在线| 亚洲成av人片在线播放无| 亚洲av五月六月丁香网| 亚洲经典国产精华液单 | 美女 人体艺术 gogo| 免费看美女性在线毛片视频| 成人特级av手机在线观看| 日本精品一区二区三区蜜桃| 最近最新免费中文字幕在线| 国产久久久一区二区三区| 亚洲经典国产精华液单 | 天堂网av新在线| 少妇熟女aⅴ在线视频| 婷婷精品国产亚洲av| av天堂中文字幕网| 国产伦精品一区二区三区四那| 国产成人啪精品午夜网站| 久久久久久久亚洲中文字幕 | 自拍偷自拍亚洲精品老妇| 欧美在线黄色| 精品乱码久久久久久99久播| 久久人人精品亚洲av| 一进一出抽搐gif免费好疼| 又紧又爽又黄一区二区| 成人毛片a级毛片在线播放| 国产精品综合久久久久久久免费| 99国产极品粉嫩在线观看| 亚洲精品色激情综合| 哪里可以看免费的av片| 性插视频无遮挡在线免费观看| 熟女人妻精品中文字幕| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 三级男女做爰猛烈吃奶摸视频| 亚洲国产精品sss在线观看| 久久精品影院6| 国产成人影院久久av| 午夜福利成人在线免费观看| 在线观看舔阴道视频| 12—13女人毛片做爰片一| 国产精品免费一区二区三区在线| 变态另类丝袜制服| 成人av在线播放网站| 十八禁国产超污无遮挡网站| 中文字幕高清在线视频| 国产免费一级a男人的天堂| 99久久精品热视频| 性插视频无遮挡在线免费观看| 国产高清视频在线观看网站| 最后的刺客免费高清国语| 内地一区二区视频在线| 国产伦一二天堂av在线观看| 国产高潮美女av| 欧美精品国产亚洲| 国产亚洲av嫩草精品影院| 国产色爽女视频免费观看| 人妻制服诱惑在线中文字幕| 老熟妇仑乱视频hdxx| 日韩成人在线观看一区二区三区| 亚洲国产欧洲综合997久久,| or卡值多少钱| 亚洲精品影视一区二区三区av| 亚洲av免费高清在线观看| 亚洲最大成人手机在线| 国产亚洲欧美98| 成熟少妇高潮喷水视频| 成人一区二区视频在线观看| 亚洲最大成人中文| 女同久久另类99精品国产91| 午夜福利在线在线| 色吧在线观看| 亚洲av日韩精品久久久久久密| av在线天堂中文字幕| 国内毛片毛片毛片毛片毛片| 亚洲国产欧洲综合997久久,| 国内毛片毛片毛片毛片毛片| 国产精品久久久久久人妻精品电影| 午夜老司机福利剧场| 久久久国产成人精品二区| 国产熟女xx| 亚洲乱码一区二区免费版| 综合色av麻豆| 亚洲五月天丁香| 国产淫片久久久久久久久 | 日韩欧美三级三区| 99久久精品热视频| 国产成年人精品一区二区| 免费高清视频大片| 久久性视频一级片| 一级作爱视频免费观看| 日本黄色片子视频| 色视频www国产| 中文字幕精品亚洲无线码一区| 国产精品久久电影中文字幕| 成人一区二区视频在线观看| 精品福利观看| 午夜福利18| 中国美女看黄片| 又黄又爽又刺激的免费视频.| 小说图片视频综合网站| 午夜a级毛片| 日本精品一区二区三区蜜桃| 亚洲国产欧洲综合997久久,| 亚洲18禁久久av| 最近视频中文字幕2019在线8| 欧美乱妇无乱码| 尤物成人国产欧美一区二区三区| 12—13女人毛片做爰片一| 免费观看人在逋| 99久久成人亚洲精品观看| 亚洲专区国产一区二区| 久久婷婷人人爽人人干人人爱| 成年女人永久免费观看视频| 亚州av有码| 国内毛片毛片毛片毛片毛片| 男女之事视频高清在线观看| 精品一区二区三区视频在线| 亚洲人成网站高清观看| 小说图片视频综合网站| 欧美一区二区亚洲| 欧美成人免费av一区二区三区| 精品久久久久久久久久免费视频| 在线国产一区二区在线| 看黄色毛片网站| .国产精品久久| 欧美又色又爽又黄视频| 欧美午夜高清在线| 两个人视频免费观看高清| 校园春色视频在线观看| 亚洲精品亚洲一区二区| 国产精品自产拍在线观看55亚洲| 精品一区二区三区视频在线| www.熟女人妻精品国产| 日日摸夜夜添夜夜添小说| 亚洲中文日韩欧美视频| 熟妇人妻久久中文字幕3abv| 中文亚洲av片在线观看爽| 午夜日韩欧美国产| 少妇熟女aⅴ在线视频| 亚洲最大成人中文| 波野结衣二区三区在线| 精品人妻偷拍中文字幕| 2021天堂中文幕一二区在线观| 99久久久亚洲精品蜜臀av| 国产成人啪精品午夜网站| 精品午夜福利视频在线观看一区| 国产久久久一区二区三区| 男女那种视频在线观看| 国产亚洲精品av在线| 国产精品亚洲美女久久久| 欧美最新免费一区二区三区 | 丝袜美腿在线中文| 哪里可以看免费的av片| 精品乱码久久久久久99久播| 国产精品人妻久久久久久| 免费在线观看日本一区| 国产成人a区在线观看| 日本成人三级电影网站| 此物有八面人人有两片| 午夜免费成人在线视频| 久久欧美精品欧美久久欧美| 动漫黄色视频在线观看| 亚洲真实伦在线观看| 亚洲第一区二区三区不卡| 久久欧美精品欧美久久欧美| 91午夜精品亚洲一区二区三区 | 亚洲欧美激情综合另类| netflix在线观看网站| 亚洲激情在线av| av视频在线观看入口| 女人十人毛片免费观看3o分钟| av视频在线观看入口| 久久亚洲真实| 欧美黑人巨大hd| 亚洲无线在线观看| 国产精品久久视频播放| 欧美黄色淫秽网站| 男女那种视频在线观看| 婷婷亚洲欧美| 亚洲成人中文字幕在线播放| 亚洲狠狠婷婷综合久久图片| 免费看美女性在线毛片视频| 成人特级av手机在线观看| 色吧在线观看| 亚洲中文字幕一区二区三区有码在线看| 久久国产精品影院| 国内少妇人妻偷人精品xxx网站| 九色成人免费人妻av| 18禁裸乳无遮挡免费网站照片| 色视频www国产| 久久伊人香网站| 内地一区二区视频在线| 极品教师在线视频| 亚洲欧美精品综合久久99| 国产精品久久久久久久久免 | 久久精品综合一区二区三区| 色视频www国产| 黄色丝袜av网址大全| 免费人成在线观看视频色| 亚洲欧美激情综合另类| x7x7x7水蜜桃| 亚洲人与动物交配视频| 亚洲人与动物交配视频| 一卡2卡三卡四卡精品乱码亚洲| 亚洲av电影不卡..在线观看| 在线播放国产精品三级| 亚洲中文字幕一区二区三区有码在线看| 久久精品综合一区二区三区| 色综合欧美亚洲国产小说| 小说图片视频综合网站| 久久天躁狠狠躁夜夜2o2o| 精品人妻一区二区三区麻豆 | 亚州av有码| 国产一区二区亚洲精品在线观看| 九九热线精品视视频播放| 亚洲性夜色夜夜综合| 免费人成视频x8x8入口观看| 好男人在线观看高清免费视频| 亚洲avbb在线观看| a级一级毛片免费在线观看| 免费无遮挡裸体视频| 国产av不卡久久| 一边摸一边抽搐一进一小说| 亚洲av熟女| 亚洲成a人片在线一区二区| 欧美成狂野欧美在线观看| 久99久视频精品免费| 日本黄色片子视频| 黄色丝袜av网址大全| 国产伦一二天堂av在线观看| 国产精品综合久久久久久久免费| 99久久精品热视频| 99国产精品一区二区蜜桃av| 国产淫片久久久久久久久 | 宅男免费午夜| 熟女人妻精品中文字幕| av在线老鸭窝| 国产亚洲精品久久久久久毛片| 久久精品影院6| 俺也久久电影网| 高清毛片免费观看视频网站| 久久精品久久久久久噜噜老黄 | 两个人视频免费观看高清| 尤物成人国产欧美一区二区三区| 此物有八面人人有两片| 亚洲精品粉嫩美女一区| 男女那种视频在线观看| 亚洲美女黄片视频| 亚洲精华国产精华精| 特大巨黑吊av在线直播| 欧美又色又爽又黄视频| 嫩草影院入口| 亚洲欧美精品综合久久99| 一区二区三区激情视频| 床上黄色一级片| 国产综合懂色| 波多野结衣高清无吗| 亚洲黑人精品在线| 亚洲国产日韩欧美精品在线观看| 国产黄a三级三级三级人| 国产v大片淫在线免费观看| 日本黄色视频三级网站网址| 两个人的视频大全免费| av欧美777| 99久久九九国产精品国产免费| 亚洲专区中文字幕在线| 九色成人免费人妻av| 国产真实乱freesex| 亚洲av中文字字幕乱码综合| 免费av不卡在线播放| 日本精品一区二区三区蜜桃| 色播亚洲综合网| 又爽又黄无遮挡网站| 十八禁国产超污无遮挡网站| 国产探花极品一区二区| 久久精品国产亚洲av香蕉五月| 一夜夜www| 欧美xxxx性猛交bbbb| 亚洲,欧美,日韩| 久久久久久九九精品二区国产| 国产欧美日韩一区二区三| 国产精品爽爽va在线观看网站| 精品欧美国产一区二区三| 可以在线观看的亚洲视频| 91九色精品人成在线观看| 欧美午夜高清在线| 久久久国产成人免费| 最近最新中文字幕大全电影3| 亚洲,欧美,日韩| 大型黄色视频在线免费观看| av欧美777| 国产精品自产拍在线观看55亚洲| www.www免费av| 两人在一起打扑克的视频| 亚洲中文日韩欧美视频| 女同久久另类99精品国产91| 国产一区二区在线观看日韩| 久久久国产成人免费| 欧美+日韩+精品| 亚洲国产精品sss在线观看| а√天堂www在线а√下载| 97超级碰碰碰精品色视频在线观看| 高清在线国产一区| 亚洲国产日韩欧美精品在线观看| 一区二区三区激情视频| 亚洲av成人不卡在线观看播放网| 国产欧美日韩一区二区三| 久久天躁狠狠躁夜夜2o2o| 亚洲午夜理论影院| 精品人妻视频免费看| 岛国在线免费视频观看| 麻豆成人午夜福利视频| 色视频www国产| 亚洲第一电影网av| 欧美一级a爱片免费观看看| 色5月婷婷丁香| 每晚都被弄得嗷嗷叫到高潮| 99在线人妻在线中文字幕| 欧美色欧美亚洲另类二区| 小蜜桃在线观看免费完整版高清| 一区二区三区高清视频在线| 久久国产乱子免费精品| av欧美777| 欧美黑人欧美精品刺激| 成人特级av手机在线观看| 亚洲欧美日韩高清专用| 黄色丝袜av网址大全| 午夜影院日韩av| 我要搜黄色片| 在线看三级毛片| 色尼玛亚洲综合影院| 久久久久久久亚洲中文字幕 | 精品久久久久久久久久久久久| 欧美黄色淫秽网站| 全区人妻精品视频| 免费搜索国产男女视频| 国产探花极品一区二区| 男女做爰动态图高潮gif福利片| 69人妻影院| 亚洲aⅴ乱码一区二区在线播放| 中文字幕免费在线视频6| 国产精品乱码一区二三区的特点| 国产精品综合久久久久久久免费| 国内揄拍国产精品人妻在线| 日韩av在线大香蕉| 亚洲美女搞黄在线观看 | 国产免费男女视频| 中出人妻视频一区二区| 欧美国产日韩亚洲一区| 好看av亚洲va欧美ⅴa在| 亚洲,欧美精品.| 老司机福利观看| 神马国产精品三级电影在线观看| 国产亚洲精品久久久com| 国产高清视频在线播放一区| 毛片女人毛片| 少妇高潮的动态图| 听说在线观看完整版免费高清| 精品午夜福利视频在线观看一区| 久久久久国产精品人妻aⅴ院| 搡老岳熟女国产| 深爱激情五月婷婷| 99在线视频只有这里精品首页| 久久人妻av系列| 免费看光身美女| 成人高潮视频无遮挡免费网站| 亚洲真实伦在线观看| 一夜夜www| 国产精品一区二区免费欧美| 日韩中字成人| 高清在线国产一区| www日本黄色视频网| 精品99又大又爽又粗少妇毛片 | 一夜夜www| 校园春色视频在线观看| 欧美日韩综合久久久久久 | 丰满乱子伦码专区| 一本久久中文字幕| 国产在视频线在精品| 婷婷精品国产亚洲av| 91麻豆精品激情在线观看国产| 毛片一级片免费看久久久久 | 老司机午夜福利在线观看视频| 每晚都被弄得嗷嗷叫到高潮| 99在线人妻在线中文字幕| 99精品久久久久人妻精品| 看免费av毛片| 国产高清视频在线播放一区| 久久久久久久久久黄片| 99国产精品一区二区蜜桃av| 97超级碰碰碰精品色视频在线观看| 18+在线观看网站| 国产男靠女视频免费网站| av视频在线观看入口| 亚洲av中文字字幕乱码综合| 精品人妻视频免费看| 日韩av在线大香蕉| 欧美日韩亚洲国产一区二区在线观看| 啦啦啦观看免费观看视频高清| 日日夜夜操网爽| 久久香蕉精品热| 久久人人爽人人爽人人片va | 999久久久精品免费观看国产| 免费看a级黄色片| 我的女老师完整版在线观看| 老鸭窝网址在线观看| 蜜桃久久精品国产亚洲av| 成年版毛片免费区| 美女免费视频网站| 在线观看美女被高潮喷水网站 | 色哟哟·www| 国内精品久久久久精免费| 国产高潮美女av| 成人午夜高清在线视频| 国产69精品久久久久777片| 成人特级黄色片久久久久久久| 97碰自拍视频| 88av欧美| 男插女下体视频免费在线播放| 国内久久婷婷六月综合欲色啪| 国产视频一区二区在线看| 哪里可以看免费的av片| 精品久久久久久久久久免费视频| 亚洲性夜色夜夜综合| 日日摸夜夜添夜夜添av毛片 | 久久久久精品国产欧美久久久| 国产精品人妻久久久久久| 国产精品一区二区性色av| 日本 欧美在线| 中文字幕精品亚洲无线码一区| 国产伦在线观看视频一区| 国产主播在线观看一区二区| 精品久久久久久久末码| 国内精品一区二区在线观看| 毛片女人毛片| 欧美日韩黄片免| 国产精品久久久久久人妻精品电影| 国内精品美女久久久久久| 男插女下体视频免费在线播放| 日本五十路高清| 桃色一区二区三区在线观看| 丰满人妻一区二区三区视频av| 首页视频小说图片口味搜索| 99热只有精品国产| 精品久久久久久久久久免费视频| 免费大片18禁| 亚洲最大成人中文| 久久久精品欧美日韩精品| 国产亚洲精品综合一区在线观看| 九九久久精品国产亚洲av麻豆| 久久久久九九精品影院| 变态另类成人亚洲欧美熟女| 国产高清视频在线观看网站| 中文字幕免费在线视频6| 国产精品一区二区三区四区免费观看 | 十八禁人妻一区二区| 国产日本99.免费观看| 怎么达到女性高潮| 欧美日韩综合久久久久久 | 18禁裸乳无遮挡免费网站照片| 欧洲精品卡2卡3卡4卡5卡区| 国语自产精品视频在线第100页| 美女高潮喷水抽搐中文字幕| 精品午夜福利视频在线观看一区| 每晚都被弄得嗷嗷叫到高潮| 简卡轻食公司| 看免费av毛片| 欧美一区二区国产精品久久精品| 波野结衣二区三区在线| 国产日本99.免费观看| 啦啦啦韩国在线观看视频| av视频在线观看入口| 国产色婷婷99| 亚洲片人在线观看| 99在线视频只有这里精品首页| 日本成人三级电影网站| 国产精品久久久久久人妻精品电影| 久久久久久九九精品二区国产| 欧美xxxx性猛交bbbb| 久久久成人免费电影| 老司机午夜福利在线观看视频| 国产私拍福利视频在线观看| netflix在线观看网站| 一级毛片久久久久久久久女| 成人精品一区二区免费| 老鸭窝网址在线观看| 国产乱人伦免费视频| 国产中年淑女户外野战色| 又粗又爽又猛毛片免费看| 亚洲男人的天堂狠狠| 草草在线视频免费看| 韩国av一区二区三区四区| 久久这里只有精品中国| 少妇的逼水好多| 精品久久国产蜜桃| 欧美最新免费一区二区三区 | 久久精品影院6| 一个人看视频在线观看www免费| 国产欧美日韩一区二区精品| 免费在线观看影片大全网站| 日韩欧美在线二视频| 国产主播在线观看一区二区| 国产亚洲精品av在线| 亚洲七黄色美女视频| 大型黄色视频在线免费观看| 国产视频内射| 亚洲人与动物交配视频| 波多野结衣高清无吗| 欧美色视频一区免费| 精品人妻偷拍中文字幕| 18美女黄网站色大片免费观看| 精品久久久久久久人妻蜜臀av| 我的女老师完整版在线观看| 成人美女网站在线观看视频| 亚洲aⅴ乱码一区二区在线播放| 国产白丝娇喘喷水9色精品| 一区二区三区免费毛片| 国产精品亚洲美女久久久| 免费高清视频大片| 成人亚洲精品av一区二区| 香蕉av资源在线| 中文资源天堂在线| 久久6这里有精品| 免费无遮挡裸体视频| 色视频www国产| 国产主播在线观看一区二区| 亚洲无线观看免费| 两个人视频免费观看高清| 18+在线观看网站| 国产亚洲精品久久久com| 又粗又爽又猛毛片免费看| www.www免费av|