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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 内存检测工具

發布時間:2023/12/3 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 内存检测工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂內存泄漏,是指本該被回收的內存由于某種原因繞開了GC回收算法,從而導致該內存無法被有效數據使用而使得總內存減小的情況。

內存泄漏會導致內存消耗的增加,大量的消耗會使得APP OOM,特別是在一些內存比較小的機器上。下面我們看看有哪些工具可以用來分析內存泄漏。

Heap Dump

Heap Dump的主要功能就是查看不同的數據類型在內存中的使用情況。它可以幫助你找到大對象,也可以通過數據的變化發現內存泄漏。

使用Heap Dump

打開Android Device Monitor工具,在左邊Devices列表中選擇要查看的應用程序進程,點擊Update Heap按鈕,在右邊選擇Heap選項,并點擊Cause GC按鈕,就會開始顯示數據。我們每次點擊Cause GC按鈕都會強制應用程序進行垃圾回收,并將清理后的數據顯示在Heap工具中。如下圖所示。

從上圖可以看出,Heap工具共有三個區域,分別是總覽視圖(上部)、詳情視圖(中部)和內存分配柱狀圖(下部)。

總覽視圖

其中總覽視圖可以查看整體的內存情況,表中的顯示信息如下所示:

  • Heap Size 堆棧分配給該應用程序的內存大小
  • Allocated 已使用的內存大小
  • Free 空閑的內存大小
  • %Used 當前Heap的使用率(Allocated/Heap Size)
  • #Objects 對象的數量

詳情視圖

詳細視圖展示了所有的數據類型的內存情況,表中列的信息如下所示:

  • Total Size 總共占用的內存大小
  • Smallest 將該數據類型的對象從小到大排列,排在第一個的對象所占用的內存
  • Largest 將該數據類型的對象從小到大排列,排在最后一個的對象所占用的內存
  • Median 將該數據類型的對象從小到大排列,排在中間的對象所占用的內存
  • Average 該數據類型的對象所占用內存的平均值

除了列的信息,還有行信息:

  • data object 對象
  • class object 類
  • 1-byte array (byte[],boolean[]) 1字節的數組對象
  • 2-byte array (short[],char[]) 2字節的數組對象
  • 4-byte array (object[],int[],float[]) 4字節的數組對象
  • 6-byte array (long[],double[]) 8字節的數組對象
  • non-Java object 非Java對象

行信息中兩個比較重要的參數:
free—它與總覽視圖中的free的含義不同,它代表內存碎片。當新創建一個對象時,如果碎片內存能容下該對象,則復用碎片內存,否則就會從free空間(總覽視圖中的free)重新劃分內存給這個新對象。free是判斷內存碎片化程度的一個重要的指標。
1-byte array—圖片是以byte[]的形式存儲在內存中的,如果1-byte array一行的數據過大,則需要檢查圖片的內存管理了。

檢測內存泄漏

我們先寫一個內存泄漏的例子:
MainActivity:

public class MainActivity extends AppCompatActivity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button =(Button)findViewById(R.id.bt_next);button.setText("SecondActivity");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(MainActivity.this,SecondActivity.class));}});} }

SecondActivity:

public class SecondActivity extends AppCompatActivity {private static Object inner;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.bt_next);button.setText("MainActivity");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {createInnerClass();finish();}});}class InnerClass {}private void createInnerClass() {inner = new InnerClass();} }

內存泄漏的原因很簡單,SecondActivity的內部類InnerClass Hold住了外部類實例的引用,而InnerClass的實例是靜態的,就會間接的長期維持著外部類實例的引用,阻止被系統回收,導致SecondActivity實例不能被釋放。

Heap Dump檢測內存泄漏:通常做法是使用Update Heap進行內存監聽,然后操作可能發生泄漏的APP功能、界面,并點擊Cause GC進行手動GC,經過多次操作后查看data object的Total Size大小是否有很大的變化,如果有則可能發生了內存泄漏,導致內存使用不斷增大。

步驟:
(1)在左邊Devices列表中選擇要查看的應用程序進程,點擊Update Heap按鈕,在右邊選擇Heap選項,并點擊Cause GC按鈕,就會開始顯示數據,如下圖所示。

(2)在MainActivity和SecondActivity間跳轉多次。這樣會生成多個SecondActivity實例且不能釋放。重新點擊Update Heap和Cause GC按鈕,顯示新的數據。

可以看到data object由610.500KB增長到1.158MB

(3)這時我點擊Cause GC按鈕,數據顯示為:

經過Cause GC的操作,Total Size的值從1.158MB變為了667.109KB,這是一個比較大的變化,說明在Cause GC操作之前有518.683KB(1.158MB-667.109KB)的內存沒有被回收,可能發生了內存泄漏。你多GC幾次,甚至會釋放更多的內存。

Allocation Tracker

使用Heap Dump可以讓你對APP的內存整體使用情況進行掌控,但缺點是無法了解每塊內存具體分配給哪個對象了,這時就需要使用Allocation Tracker工具來進行內存跟蹤。它允許你在執行某些操作的同時監視在何處分配對象,了解這些分配使你能夠調整與這些操作相關的方法調用,以優化應用程序性能和內存使用。

Allocation Tracker能夠做到如下的事情:

  • 顯示代碼分配對象類型、大小、分配線程和堆棧跟蹤的時間和位置。
  • 通過重復的分配/釋放模式幫助識別內存變化。
  • 當與 HPROF Viewer結合使用時,可以幫助你跟蹤內存泄漏。例如,如果你在堆上看到一個bitmap對象,你可以使用Allocation Tracker來找到其分配的位置。

使用Allocation Tracker

AS和DDMS中都有Allocation Tracker,這里會介紹AS中的Allocation Tracke如何使用。
使用的步驟為:

  • 運行需要監控的應用程序。
  • 點擊AS面板下面的Android Monitors選項,查看
  • 點擊Start Allocation Tracking按鈕
  • 操作應用程序。
  • 點擊Stop Allocation Tracking按鈕 ,結束快照。這時Memory Monitor會顯示出捕獲快照的期間,如下圖所示。

  • 過幾秒后就會自動打開一個窗口,顯示當前生成的alloc文件的內存數據。

alloc文件分析

該alloc文件顯示以下信息:

  • Method—負責分配的Java方法
  • Count—分配的實例總數
  • Total Size—分配內存的總字節數

目前的菜單選項是Group by Method我們也可以選擇 Group By Allocator,如下圖所示

同樣是上面的demo,我們在MainActivity和SecondActivity間跳轉了5次。
可以看到SecondActivity生成了5個匿名內部類OnClickListener實例(SecondActivity$1 表示它的第一個匿名內部類)和5個內部類InnerClass的實例,每個實例16個字節,且都沒有被釋放內存。

我們可以選擇列表中的一項,單擊鼠標右鍵,在彈出的菜單中選擇jump to the source就可以跳轉到對應的源文件中。
除此之外,還可以點擊Show/Hide Chart按鈕來顯示數據的圖形化,如下圖所示。

MAT

如果想要深入的進行分析并確定內存泄漏,就要分析疑似發生內存泄漏時所生成堆存儲文件。堆存儲文件可以使用DDMS或者Memory Monitor來生成,輸出的文件格式為hprof,而MAT就是來分析堆存儲文件的。

MAT,全稱為Memory Analysis Tool,是對內存進行詳細分析的工具,它是Eclipse的插件,如果用Android Studio進行開發則需要單獨下載它,下載地址為:http://eclipse.org/mat/。

生成hprof文件

我們這里分析一下用AS的Memory Monitor來生成hprof文件。

我們還是先寫一個內存泄漏的例子:

public class MainActivity extends AppCompatActivity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button =(Button)findViewById(R.id.bt_next);button.setText("SecondActivity");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(MainActivity.this,SecondActivity.class));}});} } public class SecondActivity extends AppCompatActivity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.bt_next);button.setText("MainActivity");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {LeakThread leakThread = new LeakThread();leakThread.start();finish();}});}class LeakThread extends Thread {@Overridepublic void run() {try {Thread.sleep(60 * 60 * 1000);} catch (InterruptedException e) {e.printStackTrace();}}} }

內存泄漏的原因是非靜態內部類LeakThread Hold住了外部類的引用,而LeakThread中做了耗時操作,導致外部類SecondActivity無法被釋放。

生成hprof文件主要分為一下幾個步驟:

  • 運行需要監控的應用程序。
  • 點擊AS面板下面的Android Monitors選項,查看
  • 操作應用程序(本文的例子就是不斷切換Activity)。
  • 點擊Dump Java Heap按鈕 ,生成hprof文件。

Memory Monitor生成的hprof文件不是標準的,AS提供了便捷的轉換方式:Memory Monitor生成的hprof文件都會顯示在AS左側的Captures標簽中,在Captures標簽中選擇要轉換的hprof文件,并點擊鼠標右鍵,在彈出的菜單中選擇Export to standard.hprof選項,即可導出標準的hprof文件,如下圖所示。

MAT分析hpof文件

用MAT打開標準的hprof文件,選擇Leak Suspects Report選項。這時MAT就會生成報告,這個報告分為兩個標簽頁,一個是Overview,一個是Leak Suspects,如下圖所示。

Leak Suspects中會給出了MAT認為可能出現內存泄漏問題的地方,本例共給出了4個內存泄漏猜想,通過點擊每個內存泄漏猜想的Details可以看到更深入的分析清理情況。如果內存泄漏不是特別的明顯,通過Leak Suspects是很難發現內存泄漏的位置。

打開Overview標簽頁,首先看到的是一個餅狀圖,它主要用來顯示內存的消耗,餅狀圖的彩色區域代表被分配的內存,灰色區域的則是空閑內存,點擊每個彩色區域可以看到這塊區域的詳細信息,如下圖所示。

再往下看,Actions一欄的下面列出了MAT提供的四種Action,其中分析內存泄漏最常用的就是Histogram和Dominator Tree。Histogram可以統計內存中對象的名稱、種類、實例數和大小,而Dominator Tree則是建立這些內存對象之間的關系。
我們點擊Actions中給出的鏈接或者在MAT工具欄中就可以打開Histogram和Dorminator Tree。

Histogram

圖中可以看出Dorminator Tree有四列數據。

  • Class Name:類名
  • Objects:對象實例的個數
  • Shallow Heap:對象自身占用的內存大小,不包括它引用的對象。如果是數組類型的對象,它的大小是數組元素的類型和數組長度決定。如果是非數組類型的對象,它的大小由其成員變量的數量和類型決定。
  • Retained Heap:一個對象的Retained Set所包含對象所占內存的總大小。換句話說,Retained Heap就是當前對象被GC后,從Heap上總共能釋放掉的內存。

在列表頂部的Regex區域,可以輸入過濾條件(支持正則表達式),通常Activity的內存泄漏,可以直接通過輸入Activity名獲取與之相關的的實例。

可以看到,SecondActivity實例創建了11次,基本可以判斷內存泄漏了。具體是如何泄漏的呢?可以通過查看GC對象的引用鏈來分析。在SecondActivity上右鍵,選擇Merge Shortest Paths to GC Root,并通過彈出的列表選擇相關類型的引用(強、軟、弱、虛),分析不同引用類型下的GC情況,這里我們選擇exclude all phantom/weak/soft etc. references,因為這個選項排除了虛引用、弱引用和軟引用,這些引用一般是可以被回收的。這時MAT就會給出SecondActivity的GC引用鏈。

到這里整個內存泄漏一目了然了,引用SecondActivity的是內部類LeakThread,this$0的含義就是內部類自動保留的一個指向所在外部類的引用,而這個外部類就是SecondActivity,導致SecondActivity無法被GC。

同時,在Histogram中還可以查看一個對象包含了哪些對象的引用。例如查看SecondActivity包含的引用,在SecondActivity上右鍵,選擇List objects—with incoming references(顯示選中對象被哪些外部對象引用,而with outcoming references表示選中對象持有哪些對象的引用)

Dominator Tree

Dorminator Tree意味支配樹,從名稱就可以看出Dorminator Tree更善于去分析對象的引用關系。而Histogram更側重于量的分析。

Shallow Heap和Retained Heap的含義和上面Histogram中的一樣。

同樣過濾SecondActivity:

發現有些圖標帶有小圓點,表示它們可以被GC系統訪問到,是內存泄漏的重點懷疑對象。那么SecondActivity沒有原點,是不是代表不能被GC訪問,可以回收呢?當然不是,如果可以回收,又怎么會存在這么多的實例呢。那怎么找到它的GC Root呢?在SecondActivity上右鍵,選擇Path To GC Roots,同樣選擇exclude all phantom/weak/soft etc. references

得出的結果和上面是一樣的,引用SecondActivity的是LeakThread,這導致了SecondActivity無法被GC。

OQL

OQL全稱為Object Query Language,類似于SQL語句的查詢語言,能夠用來查詢當前內存中滿足指定條件的所有的對象。它的查詢語句的基本格式為:

SELECT * FROM [ INSTANCEOF ] <class_name> [ WHERE <filter-expression>]

當我們點擊OQL按鈕,輸入條件select * from instanceof android.app.Activity并按下F5時(或者按下工具欄的紅色嘆號),會將當前內存中所有Activity都顯示出來,如下圖所示。

更過用法詳見官方文檔。

LeakCanary

LeakCanary 是一個開源的在debug版本中檢測內存泄漏的java庫。

使用LeakCanary

在APP的build.gradle文件添加:

dependencies {debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.2'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.2' }

接下來在Application加入如下代碼

public class BaseApplication extends Application {@Override public void onCreate() {super.onCreate();//如果當前的進程是用來給LeakCanary進行堆分析的則returnif (LeakCanary.isInAnalyzerProcess(this)) {return;}LeakCanary.install(this);} }

上面代碼只能夠檢測Activity的內存泄漏,當然還存在其他類的內存泄漏,這時我們就需要使用RefWatcher來進行監控。改寫Application,如下所示

public class BaseApplication extends Application {private RefWatcher refWatcher;@Override public void onCreate() {super.onCreate();refWatcher= setupLeakCanary();}private RefWatcher setupLeakCanary() {//如果當前的進程是用來給LeakCanary進行堆分析的則returnif (LeakCanary.isInAnalyzerProcess(this)) {return RefWatcher.DISABLED;}return LeakCanary.install(this);}public static RefWatcher getRefWatcher(Context context) {BaseApplication baseApplication = (BaseApplication) context.getApplicationContext();return baseApplication.refWatcher;} }

這里我們仍然使用上一節的demo,只是在SecondActivity中實現onDestroy方法,其中得到RefWatcher,并調用它的watch方法,watch方法的參數就是要監控的對象。

public class SecondActivity extends AppCompatActivity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.bt_next);button.setText("MainActivity");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {LeakThread leakThread = new LeakThread();leakThread.start();finish();}});}class LeakThread extends Thread {@Overridepublic void run() {try {Thread.sleep(60 * 60 * 1000);} catch (InterruptedException e) {e.printStackTrace();}}}@Overrideprotected void onDestroy() {super.onDestroy();RefWatcher refWatcher = BaseApplication.getRefWatcher(this);refWatcher.watch(this);} }

其實這個例子中onDestroy方法是多余的,因為LeakCanary在調用install方法時會啟動一個ActivityRefWatcher類,它用于自動監控Activity執行onDestroy方法之后是否發生內存泄露。這里只是為了方便舉例,如果想要監控Fragment,在Fragment中添加如上的onDestroy方法是有用的。

操作

運行程序,這時會在界面生成一個名為Leaks的應用圖標。接下來不斷的切換Activity,這時會閃出一個提示框,提示內容為:“Dumping memory app will freeze.Brrrr.”。再稍等片刻,內存泄漏信息就會通過Notification展示出來

Notification中提示了MainActivity發生了內存泄漏, 泄漏的內存為4.3KB。點擊Notification就可以進入內存泄漏詳細頁,除此之外也可以通過Leaks應用的列表界面進入,列表界面如下圖所示

點擊加號就可以查看具體類所在的包名稱。整個詳情就是一個引用鏈:SecondActiviy的內部類LeakThread引用了LeakThread的this0this0的含義就是內部類自動保留的一個指向所在外部類的引用,而這個外部類就是詳情最后一行所給出的SecondActiviy的實例,這將會導致SecondActiviy無法被GC,從而產生內存泄漏。

除此之外,我們還可以將 heap dump(hprof文件)和info信息分享出去,如下圖所示。

需要注意的是分享出去的hprof文件并不是標準的hprof文件,還需要將它轉換為標準的hprof文件,這樣才會被MAT識別從而進行分析。

總結

以上是生活随笔為你收集整理的Android 内存检测工具的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产精品99久久久久久人免费 | 天天干天天看 | 麻豆你懂的| 中文国产字幕在线观看 | 欧美激情第十页 | 国产91精品看黄网站 | 免费视频 三区 | 日韩精品高清不卡 | 国产视频在线免费观看 | 免费人人干 | 国产精品女视频 | 欧美日韩在线精品一区二区 | 国产在线播放观看 | 国产一区欧美在线 | 丁香六月欧美 | 日韩高清不卡一区二区三区 | 97自拍超碰 | 国产一级片不卡 | 天天鲁一鲁摸一摸爽一爽 | 精品福利视频在线观看 | 欧美日韩精品在线一区二区 | 亚洲激情网站免费观看 | 超碰在线97观看 | a视频在线观看 | 97电院网手机版 | 亚洲欧洲日韩 | 一级一片免费看 | 国内外成人在线视频 | 色噜噜狠狠狠狠色综合 | 香蕉在线播放 | 国产亚洲精品久久网站 | av国产网站 | 最新一区二区三区 | 久久婷五月 | 中文字幕激情 | 99久久精品免费看国产麻豆 | 国产成人精品综合 | 日韩欧美一区二区三区在线 | 成人h视频在线 | 日韩欧美黄色网址 | 久久看片网站 | 永久中文字幕 | 成人黄色电影在线 | 人人干在线观看 | av在线播放网址 | 69精品在线观看 | 波多野结衣在线观看视频 | 婷婷中文字幕在线观看 | 亚洲一级免费电影 | 日本中文不卡 | 亚洲乱码国产乱码精品天美传媒 | 成人黄色电影视频 | 久久精品久久精品久久 | 91色一区二区三区 | 91在线看黄 | 成人国产精品一区二区 | 天天做天天爱夜夜爽 | 国产在线国偷精品产拍免费yy | 中文字幕一区三区 | 999在线精品| 国产一级片毛片 | 国产一区二区高清视频 | 四虎成人精品永久免费av | 午夜神马福利 | 天天天天色射综合 | 成人夜晚看av | 中文字幕在线看视频国产中文版 | 又色又爽的网站 | 久久国产一区二区三区 | 国产精彩视频一区 | 97精品国产手机 | www在线免费观看 | 国产色在线观看 | www.国产在线视频 | 久久草在线视频国产 | 国产又粗又猛又色又黄视频 | 欧美日韩国产一二三区 | 夜夜躁日日躁狠狠久久88av | 中文字幕一区二区三区四区视频 | 美女网站视频一区 | 欧美综合色 | 精品国产资源 | 国产视频久久久 | 久久精品99精品国产香蕉 | 欧美另类人妖 | 黄视频网站大全 | 正在播放 久久 | 色综合久久88色综合天天人守婷 | 国产高清综合 | 欧美一级日韩三级 | 97色se | 色婷婷www| 中文字幕在线免费观看 | 中文字幕电影在线 | 日日爽天天操 | 丁香六月在线 | 天天色播| 黄色日批网站 | 亚洲欧洲国产日韩精品 | 亚洲天天 | 黄色的视频 | 在线看国产一区 | 久操视频在线观看 | 人人舔人人舔 | 麻豆视频免费在线 | 在线成人免费 | 亚av在线| 国产黄色av| 亚洲综合最新在线 | 国产精品初高中精品久久 | 黄色一级大片在线免费看产 | 91手机视频 | 激情视频在线观看网址 | 99精品免费久久久久久久久日本 | 成人免费视频免费观看 | 亚洲精品美女在线观看播放 | 97天堂 | 天天操夜夜操国产精品 | 91在线免费播放 | 欧美激情操 | 色停停五月天 | 国产成人一二三 | 亚一亚二国产专区 | 成人一区二区三区中文字幕 | 精品国产自在精品国产精野外直播 | 久草视频视频在线播放 | 制服丝袜一区二区 | 亚洲永久字幕 | 久久久国产影视 | 六月天综合网 | 欧美午夜精品久久久久 | 久久国产精品久久w女人spa | 人人干人人艹 | 欧美综合色 | 日韩在线视频不卡 | 成人av一区二区三区 | 在线观看免费视频 | 成人久久久久久久久 | 天天射网站 | av在线色 | 国产亚洲精品xxoo | 在线日韩精品视频 | 最近2019中文免费高清视频观看www99 | 久久精选视频 | 国产 一区二区三区 在线 | 欧美日韩免费在线视频 | 中文一区在线 | 在线性视频日韩欧美 | 国产无区一区二区三麻豆 | 97视频中文字幕 | 999国产 | 亚洲清纯国产 | 五月婷婷丁香网 | 天天爱天天干天天爽 | 在线观看自拍 | 久久久国产网站 | 色综合久久久久久中文网 | 国产不卡高清 | 丁香网婷婷 | 亚洲精品午夜一区人人爽 | 色是在线视频 | 日韩高清在线不卡 | 伊人丁香 | 欧美精品久久人人躁人人爽 | 一区二区三区四区五区在线 | 久久久精品二区 | 亚洲精品视频在线看 | 99色婷婷 | 中文字幕网址 | 欧美日韩中文在线观看 | 国产流白浆高潮在线观看 | 男女全黄一级一级高潮免费看 | 成人午夜电影在线播放 | 欧美性生爱 | 综合久久网 | 韩国精品视频在线观看 | 天天艹日日干 | 91热爆视频 | 成人欧美在线 | 国产91九色蝌蚪 | 999久久国精品免费观看网站 | 99久久精品久久久久久清纯 | 蜜桃麻豆www久久囤产精品 | 国产日韩欧美在线 | 国产精品破处视频 | 中文字幕在线看视频 | 成人app在线免费观看 | 久艹在线免费观看 | aaa日本高清在线播放免费观看 | 久久人人爽人人爽人人片av免费 | 成人免费在线观看av | 国产 在线 高清 精品 | 91精品免费 | 黄色精品久久 | 国产麻豆视频免费观看 | 久草精品网 | 五月开心婷婷网 | 粉嫩aⅴ一区二区三区 | 亚洲第一久久久 | av爱干 | av在观看| 国产亚洲视频中文字幕视频 | av免费观看高清 | 亚洲九九爱 | 成人黄视频 | 在线播放日韩av | 国产在线理论片 | 精品中文字幕在线播放 | 天天躁天天操 | 免费看国产黄色 | av天天澡天天爽天天av | 操操操日日日干干干 | 韩国在线一区 | 亚洲在线视频免费观看 | 亚洲精品视频在线观看免费 | 成人精品国产免费网站 | 日韩在线小视频 | 日韩免费专区 | 免费久久网 | 久草国产视频 | 成全在线视频免费观看 | 丁香av| 亚洲欧美在线综合 | 久草在线 | 国产成人综合精品 | 色综合久久五月天 | 国产亚洲欧美一区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 91最新在线视频 | 亚洲精品456在线播放第一页 | 麻豆视频免费在线观看 | 日韩视频一区二区三区在线播放免费观看 | 婷婷六月网 | 国产伦理一区二区 | 久久a免费视频 | 国产精品刺激对白麻豆99 | 激情综合五月天 | 91喷水 | 亚洲一区二区天堂 | 在线天堂视频 | 欧美最猛性xxxx | 精品一区二区三区香蕉蜜桃 | www.看片网站 | 国产精品一区二区久久精品爱涩 | 久久夜色精品国产欧美一区麻豆 | 深爱激情五月网 | 九九免费观看全部免费视频 | 亚洲专区视频在线观看 | 日本精品视频一区 | 黄网站色视频免费观看 | 国产美女视频免费 | 欧美aⅴ在线观看 | 成人免费网站在线观看 | 99久久er热在这里只有精品15 | 激情导航| 免费观看性生活大片3 | 玖玖玖精品| 日韩视频一区二区三区在线播放免费观看 | 91九色成人蝌蚪首页 | 欧美激情精品久久久久久 | 黄色亚洲大片免费在线观看 | 成人免费色 | 国产我不卡 | 精品无人国产偷自产在线 | 成av人电影 | 国产成人三级一区二区在线观看一 | 国产午夜一区二区 | 亚洲一区二区观看 | 999久久久久久久久 69av视频在线观看 | 国产成人av一区二区三区在线观看 | 欧美一二三视频 | 亚洲第一区精品 | 日日操天天爽 | 日韩欧美视频在线免费观看 | 欧美日韩p片 | 亚洲91中文字幕无线码三区 | 免费在线国产精品 | 久草网站 | 久草视频免费播放 | 在线电影播放 | 插婷婷 | 丁香久久综合 | 在线精品亚洲一区二区 | 亚洲精品综合一二三区在线观看 | 四虎在线视频 | 亚洲免费精彩视频 | 在线观看av小说 | 伊人永久 | 在线观看中文字幕网站 | 伊人久久五月天 | 在线亚洲午夜片av大片 | 99精品在线免费观看 | 久久99最新地址 | 国产伦精品一区二区三区无广告 | 人人爽人人av | 97超碰人| 天天综合导航 | 精品福利在线 | 国产一区二区在线免费观看 | 欧美日韩国产二区 | 开心激情五月婷婷 | 狠狠操.com | www看片网站 | 色吊丝在线永久观看最新版本 | 日韩美女免费线视频 | 婷五月天激情 | 欧美激情精品 | 亚洲午夜久久久久久久久 | 日本大片免费观看在线 | av黄色免费网站 | 91精品国产92久久久久 | 九九在线高清精品视频 | 人人艹人人 | 久久久久久久影视 | 欧美最新另类人妖 | 亚洲欧美综合精品久久成人 | 99久久精品无免国产免费 | 亚洲在线精品 | 免费在线观看亚洲视频 | 天天干天天爽 | 久久久久免费电影 | 精品久久久久久一区二区里番 | 日韩在线视频看看 | 麻豆精品视频在线观看免费 | 91亚洲狠狠婷婷综合久久久 | 国产午夜亚洲精品 | 在线看小早川怜子av | 精品免费一区二区三区 | 四虎亚洲精品 | 三级av在线播放 | 天天干,天天操,天天射 | 亚洲欧美视频在线播放 | 欧美精品乱码久久久久久按摩 | 中文av在线天堂 | 色噜噜日韩精品欧美一区二区 | 毛片精品免费在线观看 | 成人午夜免费福利 | 欧美日韩一区二区免费在线观看 | 国产精品白丝jk白祙 | 日日干天天 | 久久专区 | 中文字幕亚洲欧美日韩 | 精品久久久亚洲 | 91久久国产精品 | 国产亚洲免费观看 | 99久久99视频| 国产丝袜| 欧美日韩一区三区 | 中文字幕色站 | 成人一级在线 | 日韩av免费在线看 | 最新av网址在线观看 | 日韩精品一区二区三区免费观看 | 免费网站观看www在线观看 | 国产精品亚洲成人 | 日韩精品高清视频 | 午夜精品久久久久久久99婷婷 | 国产美女主播精品一区二区三区 | 毛片基地黄久久久久久天堂 | 成人免费观看av | 国产在线日本 | 婷婷国产一区二区三区 | 亚洲不卡av一区二区三区 | av 一区二区三区四区 | 亚洲人成在线电影 | 亚洲,播放 | 久久综合中文字幕 | 久久久久二区 | 麻豆一区在线观看 | 亚洲国产精品久久久 | 免费精品国产va自在自线 | 久久久精品一区二区三区 | 色婷婷狠狠五月综合天色拍 | 日韩影片在线观看 | 亚洲jizzjizz日本少妇 | 蜜臀久久99精品久久久无需会员 | 国产中文字幕大全 | www一起操 | 天天做天天爱夜夜爽 | 日韩午夜大片 | 亚洲 欧美变态 另类 综合 | 综合色在线观看 | 色综合久久88色综合天天人守婷 | 久久久久一区二区三区 | 国产精品一区二区三区99 | 在线观看成人国产 | 久久综合九色综合97婷婷女人 | 免费一级毛毛片 | 视频在线观看99 | 国产亚洲视频在线 | 国内精品久久天天躁人人爽 | 日韩免费视频一区二区 | 男女精品久久 | 91精品啪 | 91爱看片 | 久久在视频 | 9999免费视频 | 欧美成人69av | 欧美电影黄色 | 在线免费91 | 天躁狠狠躁 | 国产精品精| 色5月婷婷 | 99久久精品无免国产免费 | 激情开心网站 | av理论电影 | 国产精品久久艹 | 日韩二区在线播放 | 日韩免费在线观看网站 | 亚洲精品午夜国产va久久成人 | 国产成人精品一区二区在线 | 色视频在线观看免费 | 丰满少妇对白在线偷拍 | 日本一区二区三区视频在线播放 | 亚洲性视频 | 激情婷婷在线 | 国产一二区在线观看 | 亚洲涩涩色 | 一区二区三区手机在线观看 | 欧美性色综合网站 | 六月天综合网 | 欧美影院久久 | 五月婷婷六月综合 | 97日日 | 午夜国产福利在线观看 | 欧美日韩不卡在线 | 人人干干人人 | 麻豆成人精品视频 | 国产精品免费久久久久 | 免费又黄又爽的视频 | av线上看| 青青河边草免费观看完整版高清 | 久久综合久久久久88 | 久久五月情影视 | av福利网址导航大全 | 中国一区二区视频 | av电影中文字幕在线观看 | 国产成人在线观看免费 | 国产五月色婷婷六月丁香视频 | 中文字幕乱偷在线 | 色婷婷精品大在线视频 | 在线看日韩 | 日韩欧美电影在线观看 | 久久久久免费 | 久久精品区 | 中文字幕在线看视频国产 | 欧美日韩一区二区三区在线观看视频 | 在线视频精品 | 国产高清区 | 国产剧情一区二区在线观看 | 五月婷婷视频在线观看 | zzijzzij亚洲日本少妇熟睡 | 最近中文字幕大全 | 不卡视频国产 | 亚洲欧洲国产精品 | 欧美综合在线观看 | 久久99这里只有精品 | 美女网站视频一区 | 欧美伦理电影一区二区 | 成人精品国产免费网站 | 欧美91精品| 久久超碰网| 久久婷婷一区二区三区 | 91久久人澡人人添人人爽欧美 | 在线天堂v | 91入口在线观看 | 在线观看国产成人av片 | 久久99日韩 | 免费看的黄色片 | 国产精品都在这里 | 日精品| 久热av | av三级av | 国产色在线视频 | 在线精品亚洲一区二区 | 国产69久久精品成人看 | 国产精品久久久久久电影 | 人人狠狠| 4438全国亚洲精品在线观看视频 | 久久在线观看视频 | 亚洲资源视频 | 日韩在线播放视频 | 色中色综合 | 成人在线一区二区三区 | 久久久三级视频 | 国产探花视频在线播放 | 99视频黄| 91看片麻豆| 91干干干 | 日韩视频在线观看免费 | 黄av资源| 天天射天天干天天操 | 亚洲国产中文字幕 | 91黄色在线视频 | 亚洲天堂精品视频在线观看 | 欧美性极品xxxx娇小 | 亚洲国产久 | 色综合久久久久综合99 | 久久综合久色欧美综合狠狠 | 中文av在线播放 | 欧美精品乱码久久久久久 | 999国内精品永久免费视频 | 久久99精品久久久久久 | 国产不卡网站 | 国产精品乱码久久久久 | 亚洲另类xxxx | 丁香色天天 | 在线观看免费福利 | 久久免费在线观看 | 久久 亚洲视频 | 亚洲黄电影 | 免费在线色视频 | 日韩1页| 日本最新高清不卡中文字幕 | 天天爽天天爽 | 色婷婷一区 | 免费福利视频导航 | av女优中文字幕在线观看 | 在线观看亚洲视频 | 成人在线视频在线观看 | 久久久久久久久久免费 | 日韩欧美视频在线观看免费 | av黄色免费看 | 久久精品视频在线观看免费 | 一级α片免费看 | 精品国产乱码一区二 | 欧美在线观看视频 | 黄色成人影视 | 国产在线观看免费观看 | 免费在线国产 | 97国产精品| 黄色的网站免费看 | 黄污视频网站 | 久久成人午夜视频 | av久久久久久 | 91精品久久久久久久久久入口 | 一区二区av | 伊人久久五月天 | 亚洲国产精品人久久电影 | 久草免费在线观看视频 | 国产精品自拍在线 | 91综合久久一区二区 | 国产一级大片免费看 | 久久精品在线免费观看 | 99久久精品视频免费 | 免费在线黄网 | 九色91福利| 在线观看一区二区精品 | 日韩伦理片一区二区三区 | 久久中文字幕在线视频 | 超碰97人 | 美女免费黄视频网站 | 亚洲一级电影在线观看 | 91精品国产成人www | 国产精品一区二区在线观看 | 日韩在线观看网站 | 久久久久国产a免费观看rela | 久久免费高清 | 激情五月***国产精品 | 久久国产精品免费一区二区三区 | 亚洲天天做 | 中文字幕乱码一区二区 | 国产麻豆精品在线观看 | 亚洲影院国产 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久精品网址 | 91亚洲在线观看 | www.人人干| 九九免费在线观看视频 | 久久精品视频在线观看免费 | 成人免费看视频 | 国产高清视频网 | 久久视频6| 91在线影院| 天天做天天爱天天综合网 | 国产精品s色 | 黄色视屏在线免费观看 | 黄网av在线 | 丁香网婷婷 | 日韩av片免费在线观看 | 99视频播放 | 九九九九热精品免费视频点播观看 | 中文字幕人成人 | 日韩av一区二区在线播放 | 99久e精品热线免费 99国产精品久久久久久久久久 | 亚洲成人黄色网址 | 天天操天天爽天天干 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久精品国产一区 | 色资源中文字幕 | 国产成人精品一区二区三区网站观看 | 天天添夜夜操 | 狠狠狠色丁香婷婷综合久久五月 | 97超碰资源网 | 成年人网站免费在线观看 | 永久黄网站色视频免费观看w | 精品在线视频一区二区三区 | 国内免费久久久久久久久久久 | 丁香六月在线观看 | 国产精品第7页 | 六月婷色 | 五月婷婷激情六月 | 亚洲粉嫩av | 久久久久久久久久久久亚洲 | 在线中文字幕视频 | 久草综合在线 | 天天操狠狠操网站 | 美女国产精品 | 欧美日韩不卡一区 | 国产男女无遮挡猛进猛出在线观看 | 视频一区在线免费观看 | 伊人五月天.com | 97超碰在线免费观看 | 五月婷婷激情六月 | 激情综合一区 | 视频在线观看国产 | 日韩免费视频观看 | 成人av片在线观看 | 国产一级片在线播放 | 久久久精品一区二区三区 | 亚洲 欧美 变态 国产 另类 | 久久精品国产亚洲精品 | 狠狠综合久久 | 久久久视频在线 | 国产精品网址在线观看 | 伊人久久五月天 | 免费韩国av| 国产精品一区二区三区四 | 久久不射电影院 | zzijzzij亚洲成熟少妇 | 91在线视频在线 | 中文字幕在线观看三区 | 免费的国产精品 | 伊人狠狠干 | 久久精品国产精品亚洲精品 | 中文字幕亚洲综合久久五月天色无吗'' | 久久精品99国产国产 | 麻豆国产视频下载 | 成人动漫精品一区二区 | 久草视频在线免费 | 午夜视频欧美 | 久久人人爽爽人人爽人人片av | 亚洲综合在线一区二区三区 | 97在线观看视频国产 | 欧美特一级片 | 最近中文字幕免费 | 日本爱爱免费 | 九九久久影视 | 西西大胆免费视频 | 中文字幕在线观看免费观看 | 久久99久久久久久 | 免费av网站在线看 | 99久久精品一区二区成人 | 久久99热这里只有精品 | 怡红院久久| 久久精品首页 | 欧美性色综合网 | 欧美精品在线观看免费 | 在线v片| 国产在线观看二区 | 久久免费视频在线观看 | 亚洲一区二区天堂 | 欧美激情综合色综合啪啪五月 | 日本中文字幕在线播放 | 在线欧美最极品的av | 手机成人免费视频 | 日日摸日日添日日躁av | 国产传媒一区在线 | 亚洲精品xxx | 日韩激情在线 | 亚洲理论视频 | 九九九电影免费看 | 日本巨乳在线 | 国产精品久久久久影院 | 亚洲精品在线视频播放 | 91在线免费公开视频 | 九九久 | 国产99一区视频免费 | 四虎影视8848dvd | 欧美一级性生活 | 黄色免费大全 | 美女免费网站 | 欧美少妇xxx| 国产精品12345 | 国产精品观看视频 | 久久精品久久精品久久 | 久久综合九色九九 | 国产美女主播精品一区二区三区 | 99在线播放 | 婷婷色资源 | 久久免费精品国产 | 人人插人人做 | 婷婷电影在线观看 | 国产精品门事件 | 81精品国产乱码久久久久久 | 国产免费亚洲高清 | 天天天色综合a | 中文字幕免费观看全部电影 | 中文字幕在线专区 | 国产一在线精品一区在线观看 | 欧美日韩视频在线一区 | av片在线观看免费 | 天天色天天操天天爽 | 国产精品一区二区三区久久久 | 成人三级视频 | 91黄站| 日韩午夜大片 | 精品国产一区二区三区在线观看 | 久久毛片网站 | 亚洲精品在线一区二区三区 | av丁香| 97国产在线观看 | 免费十分钟 | 欧美性生交大片免网 | 日本高清久久久 | 一区二区三区在线观看免费视频 | 亚洲国产天堂av | 国产精品v a免费视频 | 欧美极度另类性三渗透 | 亚洲黄色在线播放 | 二区三区视频 | 免费在线观看污 | av中文在线播放 | 久久久久这里只有精品 | 亚洲精品视频网站在线观看 | 国产伦精品一区二区三区高清 | 国产一区二区在线免费观看 | 天天操夜夜摸 | 久久久久www| 欧美激情综合网 | 日日干天天操 | 欧美久久久一区二区三区 | 久久99视频精品 | ,久久福利影视 | 91在线播| 亚洲国产精品久久久 | 国产中文字幕第一页 | 国产一级电影在线 | 片黄色毛片黄色毛片 | 丝袜美女在线 | 日韩一级黄色大片 | 国产精品入口传媒 | 亚洲精选视频免费看 | 日日干 天天干 | 五月天国产 | 国产精品99久久久久 | www狠狠操 | 91一区一区三区 | 在线观看日韩中文字幕 | 国产精品久久99综合免费观看尤物 | 香蕉视频91 | 国产一区二区在线视频观看 | 免费福利片 | 中文成人字幕 | 久久刺激视频 | 精品人人人人 | 99久久精品网 | 国产福利一区二区三区在线观看 | 中文字幕在线播放av | 成人h动漫在线看 | 免费高清在线一区 | 91在线影视| 国产乱码精品一区二区三区介绍 | 久草网免费 | 精品一区二区电影 | 久久久久久久久久久国产精品 | 最新久久久 | 日韩字幕在线观看 | 久久九九网站 | 久久夜夜夜 | 天天操天天摸天天干 | 美女精品 | 日韩精品一区二区三区电影 | 久久久国产精品免费 | 亚洲成人精品影院 | 成人av观看| 日韩欧美精品在线 | 337p日本欧洲亚洲大胆裸体艺术 | 国产高清久久久久 | 特级西西www44高清大胆图片 | 欧美精品久久99 | 国产日韩精品一区二区三区在线 | 亚洲精品1区2区3区 超碰成人网 | 999ZYZ玖玖资源站永久 | 亚洲尺码电影av久久 | 国产精品久久久久久久久岛 | 国产一区福利在线 | 成人免费视频在线观看 | 国产日韩高清在线 | 亚洲视频aaa | 黄色精品网站 | 久久不射电影院 | 中文高清av | 91视频免费播放 | 九九热国产视频 | 操操操操网 | 亚洲人成免费网站 | 国产亚洲精品久久久久久 | 欧美视频二区 | 香蕉97视频观看在线观看 | 欧美a级在线免费观看 | 日韩欧美在线观看一区二区三区 | 国产手机视频 | 99视频在线观看视频 | 久久视频一区 | 五月婷婷色综合 | 色婷婷精品 | 国产一级黄色免费看 | 99久久99热这里只有精品 | 久久久久久久免费观看 | 日免费视频 | 亚洲伦理一区 | 麻豆国产精品视频 | 四虎在线免费观看 | 国产一级精品在线观看 | 在线视频在线观看 | 青青色影院 | 99精彩视频在线观看免费 | 极品国产91在线网站 | 成年人免费在线观看网站 | 一区久久久| 在线日韩中文 | 91视频免费网址 | 最近更新中文字幕 | 久久精品99北条麻妃 | 97视频人人免费看 | 亚洲无吗视频在线 | 色综合天天狠天天透天天伊人 | 精品亚洲欧美一区 | 中文字幕在线观看三区 | 久草在线免费播放 | 日韩性xxx| 久久a国产| 婷婷综合在线 | 国产精品com| 二区三区毛片 | 亚洲国产一二三 | 4438全国亚洲精品观看视频 | 国产成人一区二区三区免费看 | 日韩二区在线播放 | www.狠狠插.com | 久久精品久久久精品美女 | 97精品国产91久久久久久 | 久草资源在线 | 亚洲专区欧美 | 国产精品系列在线观看 | 91网址在线 | 久草网在线观看 | 精品视频久久久 | 91在线视频网址 | 久久人人97超碰精品888 | 在线视频 精品 | 久久久久国产成人免费精品免费 | 国产免费三级在线观看 | 欧美成人xxxxxxxx| 激情开心网站 | 四虎成人精品 | 色综合久久综合中文综合网 | 黄色三级久久 | 黄色一级大片在线免费看产 | 视频国产在线观看18 | 中文字幕影片免费在线观看 | 欧美一进一出抽搐大尺度视频 | 久久精品亚洲精品国产欧美 | 国产午夜精品久久 | 国产91学生粉嫩喷水 | 欧美 日韩精品 | 中文在线免费视频 | 亚洲国产中文字幕在线视频综合 | 中文字幕精品在线 | 国产高清在线免费 | 国产午夜精品一区二区三区嫩草 | 人人澡人人添人人爽一区二区 | 香蕉视频日本 | 久久久久久高潮国产精品视 | 国产午夜精品久久久久久久久久 | 亚洲国产中文字幕在线视频综合 | 欧美成人在线免费 | 精品国产视频一区 | 欧美尹人 | 欧美激情精品久久久久久免费印度 | 欧美片网站yy| 欧美极品久久 | 黄色网址av| 午夜精品剧场 | 99久久99久久精品国产片 | 国产成人精品综合久久久 | 精品视频资源站 | 91精品视频免费看 | 一区在线观看视频 | 五月综合激情 | 日本91在线 | 日韩色高清 | 成人四虎影院 | 国产精品18久久久久久久网站 | 欧美一二三区在线播放 | 日韩字幕在线 | 久草久草在线观看 | 婷婷在线综合 | 国产亚洲综合性久久久影院 | 日韩一区二区免费视频 | 亚洲日韩精品欧美一区二区 | 国产精品午夜在线 | 欧美十八 | 99精品免费 | 国产成人精品综合久久久久99 | 激情偷乱人伦小说视频在线观看 | 亚洲永久av | 日韩特级黄色片 | 91手机电视 | 国产精品麻豆视频 | 亚洲男模gay裸体gay | 免费av在线网 | 国内精品免费久久影院 | 成人免费视频播放 | 国产一区二区三区免费在线观看 | 欧美日韩视频在线观看一区二区 | 一级做a爱片性色毛片www | 在线电影91 | 日日干网址 | 免费在线观看不卡av | 久草在线观看资源 | 欧美 日韩 性| 国产精品久久久久久久久久久杏吧 | 久久久在线 | 国产成人精品一区二区三区 | 色婷婷视频网 | 在线观看免费成人 | 特级黄色电影 | 日韩在线观看av | 六月丁香久久 | 69国产盗摄一区二区三区五区 | 97av在线| 精品久久久免费 | av在线不卡观看 | 国产xxxxx在线观看 | 一级性生活片 | 在线不卡中文字幕播放 | 99久久99久久精品免费 | www.黄色片网站 | 狠狠色狠狠综合久久 | 国产69精品久久app免费版 | 亚洲第二色| 亚洲国产三级 | 精品国产乱码久久久久 | 欧美另类老妇 | 狠狠88综合久久久久综合网 | avwww在线观看 | 国产精品乱码久久久久久1区2区 | 亚洲精品一区二区久 | 免费看的黄色片 | 亚洲黄色免费在线看 | 亚洲性视频 | 人人澡人摸人人添学生av | 91人人射| 97日日碰人人模人人澡分享吧 | 97日日 | 波多在线视频 | 成人国产精品久久久春色 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 久久综合狠狠综合 | 久久久.com| 婷婷深爱五月 | 欧美日韩视频在线播放 | 亚洲欧洲精品视频 | 91看国产| 久色网 | 国产成人l区 | 国产一区二区三区免费在线观看 | 国产高清专区 | 在线免费观看国产精品 | 国产一区国产二区在线观看 | 伊人色**天天综合婷婷 | 中国一级片视频 | 中文区中文字幕免费看 | 成人午夜在线电影 | 午夜精品久久久久久久久久久久久久 | 青青河边草观看完整版高清 | 欧美天堂影院 | 91在线观看高清 | 国产在线观看中文字幕 | 一区二区三区在线不卡 | 久久久久在线视频 | 干狠狠| 九九久久国产精品 | 成人在线一区二区 | 国产精品va最新国产精品视频 | 91精品免费视频 | 尤物97国产精品久久精品国产 | 久久99精品久久久久久 | 免费观看版 | 精品亚洲va在线va天堂资源站 | 久久久www成人免费精品 | 精品一区中文字幕 | 一级一片免费观看 | 日本精品久久久久影院 | 国产免费av一区二区三区 | 99人成在线观看视频 |