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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

activity 启动模式_Intent#FLAG_ACTIVITY_CLEAR_TOP 真的会 clear top 吗

發布時間:2025/3/21 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activity 启动模式_Intent#FLAG_ACTIVITY_CLEAR_TOP 真的会 clear top 吗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景

前段時間處理了一個 App 內草稿丟失的反饋,很多用戶反饋連續存了多個草稿之后,草稿箱都只有一個草稿,顯然是發生了草稿丟失。從用戶反饋的數據來看,反饋用戶的系統版本都在 Android 7.0 以下。

經過一段時間的排查,最后發現是草稿被覆蓋了,直接原因是:存草稿后拍攝鏈路頁面(錄制頁、編輯頁、發布頁)未被關閉,再次進拍攝之后錄制頁復用(狀態也復用了)導致存草稿的時候發生了草稿替換。

那么問題來了,為什么會發生這樣的情況呢?這得從我們存草稿那一刻說起。

二、發現問題:為什么 clear top 不生效?

正常來說,存草稿之后我們會關閉拍攝鏈路的頁面,把拍攝鏈路上的一串 Activity 都關閉掉。從代碼中可以看到,我們是使用 Intent#FLAG_ACTIVITY_CLEAR_TOP | Intent#FLAG_ACTIVITY_NEW_TASK 來實現這一目的的:

邏輯簡單明了,就是加個 clear_top 的 flag,然后 setClass 指定跳轉到首頁,這里的 getPublishContainerActivityClass 返回的是 MainActivity,看起來沒什么異常。

試著打了一個包在小米10 Pro 上試一下,存草稿,沒有復現問題,回到首頁之后按返回,直接退出 App 了,說明拍攝鏈路的頁面被關閉了。萬幸,在換了好幾臺手機之后,終于在一臺 Android 5.1 上復現了這個 case,發現存完草稿回到首頁如果再按返回鍵,就回到了發布頁,拍攝鏈路還在。

所以核心問題就是:為什么在這臺 Android 5.1 上 clear_top 這個 flag 沒生效?

三、提出問題:FLAG_ACTIVITY_CLEAR_TOP 真的會 clear top 嗎?

關于 Intent#FLAG_ACTIVITY_CLEAR_TOP,簡單地概括一下就是:設置這個 flag 后,如果發現目標 Activity 已經存在,會將目標 Activity 所在的 Task 移到前臺,然后 finish 掉目標 Activity 上層的所有 Activity,最后打開目標 Activity。至于如何判斷目標 Activity 已經存在了,注釋中并沒有提到。

回到 Aweme 工程。一般情況下,首頁、錄制頁、編輯頁、發布頁是在同一個任務棧里,從 adb 打印的 activity 堆棧信息也可以看出這一點。

adb shell dumpsys activity activities | grep 'com.zhiliaoapp.musically'

看了下這幾個 Activity 的啟動模式,并沒發現什么不一樣的地方: VideoRecordNewActivity: singleTask VideoPublishEditActivity: standard(default) VideoPublishActivity: singleTask

大膽猜想一下,難道是不同版本的 ROM 對 Intent#FLAG_ACTIVITY_CLEAR_TOP 的處理有差異導致這個 flag 沒生效?

四、嘗試在 Demo 上復現問題

建了個 Demo 工程,創建了 A, B, C 三個空頁面,分別對應首頁、拍攝頁、發布頁,跳轉路徑是:A --> B --> C --> A。其中 A、B、C 的啟動模式分別為 singleTop, singleTask, singleTask,與 App 內的拍攝鏈路一致。

在線上問題復現的這臺 Android 5.1 上測試發現,C 用 clear_top 回到 A 之后,整個棧就清空了,在 A 點返回直接退出 App 了,沒有發現任何異常。

陷入沉思,Demo 上沒復現,難道是 Aweme 工程里對 Activity 或者 Intent 這塊做了騷操作?(盲猜一手)。打印一下復現問題的這臺 Android 5.1 的 App 存草稿之后的任務棧,發現了一些不一樣的東西:

從上圖我們可以看到,任務棧里最底層的竟然是 SplashActivity,那我們的首頁呢?MainActivity 哪去了,我們明明是從首頁進拍攝然后到發布頁的......隨便在 MainActivity 中打個斷點可以發現斷點能生效,說明展示的確實是 MainActivity,但是任務棧中指向的是 SplashActivity,這是什么操作?是的,這就是 activity-alias,Android 1.0 開始就支持的一個機制。

在 AndroidManifest 中查看 SplashActivity 和 MainActivity 的聲明,可以發現 SplashActivity 被聲明成了 activity-alias,其 targetActivity 指向的是 MainActivity。

關于 activity-alias 的細節暫且不深入,先改下 Demo,加個 Splash,聲明為 activity-alias?,F在 Demo 的啟動流程變成了:Splash --> A --> B --> C --> A。

修改好之后跑起來試試,結果,在 Android 5.1 的測試機上竟然復現了:C 用 clear top 打開 A 之后并沒有將 B 和 C 關閉掉!那么有沒有可能是這個 ROM 的問題?在模擬器上運行試試,發現也復現了,難道是 Android 的 Bug?不會吧,不會吧,不會吧......

五、解決問題

Talk is cheap. Show me the code.

既然在模擬器中運行 Demo App 也復現了,可以嘗試從 AOSP 源碼中追溯這個問題。

5.1 先回顧一下啟動流程中的幾個概念

5.1.1 ActivityRecord

An entry in the history stack, representing an activity.

Activity 以 ActivityRecord 對象的形式存放在任務棧中。在 Activity 的啟動過程中會創建 ActivityRecord,代表待啟動的 Activity。

  • ActivityRecord resultTo
    • who started this entry, so will get our reply

    5.1.2 ActivityInfo

    Information you can retrieve about a particular application activity or receiver. This corresponds to information collected from the AndroidManifest.xml's and tags.

    存放的是我們在 AndroidManifest 中聲明 Activity 時指定的一堆 Activity 配置。

  • taskAffinity
  • The affinity this activity has for another task in the system. The string here is the name of the task, often the package name of the overall package.
  • 5.1.3 TaskRecord

    代表一個任務棧,棧中可能有一堆同棧的 Activity。

  • Intent intent
    • The original intent that started the task
  • ArrayList mActivities
    • List of all activities in the task arranged in history order
  • ActivityStack stack
    • The ActivityStack it belongs to.

    5.1.4 ActivityStack

    State and management of a single stack of activities.

    任務棧由 ActivityStack 持有。

  • ArrayList mTaskHistory
    • The back history of all previous (and possibly still running) activities. It contains #TaskRecord objects.
    • 0 ~ size - 1, the last is the top task.

    ActivityRecord, TaskRecord, ActivityStack 的關系可以簡單用下面這個圖來表示:

    5.1.5 activity-alias

    Activity 別名,這是 AndroidManifest 中支持的一個標簽,使用方式和 activity 標簽類似,用于表示某個 Activity 是另一個 Activity 的別名 (targetActivity)。通過 Intent 啟動 activity-alias 類型的 Activity 時,最終只會啟動 targetActivity,不會走 activity-alias 這個 Activity 本身的任何生命周期。

    5.2 從源碼看 Activity 啟動時 clear top 的處理邏輯

    5.2.1 Android 6.0

    通過查閱 Android 6.0 的源碼,我們可以整理出如下的 Activity 啟動鏈路調用時序圖。

    注意:

  • 因為只分析 clear top 的邏輯,這里的調用鏈路只考慮了設置了 clear top flag 的場景
  • TaskRecord

    從上面的時序圖可以看到,啟動 Activity 時會先幫它找到一個任務棧,找到這個任務棧之后,會根據 Intent 的 flag 對這個任務棧進行處理。如果設置了 Intent#FLAG_ACTIVITY_CLEAR_TASK,則會清空這個任務棧中已有的 Activity。

    如果設置了 Intent#FLAG_ACTIVITY_CLEAR_TOP,則會執行 clear top 操作,將任務棧中目標 Activity 之上的其他 Activity 給 finish 掉。具體的處理邏輯如下:

    TaskRecord#performClearTaskLocked

    在執行 performClearTaskLocked 的過程中,會對任務棧中的 Activity 進行遍歷,如果判斷某個 Activity 的 realActivity 屬性和待啟動 Activity 的 realActivity 是同一個,就會執行 clear top 操作,將任務棧中這個 Activity 之上的 Activity 都干掉。

    ActivityRecord

    那么 ActivityRecord#realActivity 是在哪里設置的呢?繼續看 ActivityRecord 的源碼,可以發現 realActivity 是 ActivityRecord 中的一個 final 成員變量,事情貌似變得簡單了。

    在 Activity 的啟動過程中,在執行到 ActivityStackSupervisor#startActivityLocked 的時候,會創建一個 ActivityRecord 對象,這是待啟動 Activity 的 ActivityRecord 對象。在初始化這個 ActivityRecord 的時候,會對其 realActivity 進行賦值:

    ActivityRecord.java

    在對 realActivity 賦值的時候,滿足三個條件之一就會將傳入 Intent 的 component 設置給 realActivity,這三個條件是:

  • targetActivity 為空。說明不是 activity-alias
    • AndroidManifest 中指定 activity-alias 時才會指定 targetActivity
  • launchMode 是 LAUNCH_MULTIPLE。說明是 standard 啟動模式
  • launchMode 是 LAUNCH_SINGLE_TOP。說明是 singleTop 啟動模式
  • 到此為止,我們已經知道了 Android 6.0 是如何處理 clear top 的。此處的 realActivity 的賦值邏輯很關鍵,下面會重新提到。

    5.2.2 Android 7.0

    Android 7.0 和 Android 6.0 的調用鏈路有一定變化,主要是把原先 ActivityStackSupervisor 中的啟動邏輯拆到了一個新的 ActivityStarter 類中。

    依舊是在 TaskRecord#performClearTaskLocked 里處理 clear top。

    TaskRecord

    這里執行 clear top 的邏輯沒有變化,依舊是對 realActivity 的判斷。

    TaskRecord#performClearTaskLocked

    ActivityRecord

    也可以看到,realActivity 依舊是 final 變量。

    ActivityRecord.java

    但是!Android 7.0 對 ActivityRecord#realActivity 的賦值邏輯做了調整,新加了個判斷:aInfo.targetActivity.equals(_intent.getComponent().getClassName()

    Android 7.0 新加的這個判斷導致的差異可以用如下這個例子來說明:

  • 第一步:直接啟動 activity-alias 這個 Activity,創建的 ActivityRecord 插入到任務棧中時,該 ActivityRecord 的 realActivity 屬性指向該 activity-alias 對應的 targetActivity
  • 第二步:在同一個任務棧中再打開幾個中間 Activity,然后通過 clear_top 的方式直接啟動 targetActivity (指定 class 是 targetActivity),clear top 會生效,任務棧會被清空
  • 需要說明的是聲明為 activity-alias 的 Activity 不支持指定 launchMode,所以它的 launchMode 是默認值 standard,也很容易理解,畢竟只是個占位符。

    為什么 clear top 會生效呢,因為在啟動 targetActivity 時創建的 ActivityRecord 的 realActivity 也是指向的 targetActivity,所以當執行到 TaskRecord#performClearTaskLocked 的時候,就會發現和啟動 activity-alias 時創建的 ActivityRecord 的 realActivity 相等,因為都是指向的 targetActivity,從而 clear top 正常生效。

    在 Android 7.0 之前,執行上述同樣的兩步操作,clear top 不會生效,任務棧不會被清理。因為直接啟動 activity-alias 時所創建 ActivityRecord 對象的 realActivity 指向 activity-alias 本身,而再次直接啟動 targetActivity 時創建的 ActivityRecord#realActivity 指向的是 targetActivity。

    5.2.3 Android 10.0

    Android 10.0 的啟動流程有很多變化,但是 clear_top 執行的核心邏輯與 Android 7.0 沒有區別。

    TaskRecord

    TaskRecord#performClearTaskLocked

    ActivityRecord

    那么 ActivityRecord#mActivityComponent 是在哪里設置的呢?

    ActivityRecord.java

    5.2.4 總結一下

    用 Intent 啟動某個 launchMode 為 singleTop 的 Activity 時,如果在 Intent 中設置了 clear_top 的 flag,Android 在處理 clear_top 的時候,會遍歷整個任務棧,通過判斷 ActivityRecord#realActivity 在任務棧中尋找已經存在的 Activity 實例。如果找到了目標 Activity,就會將目標 Activity 之上的 Activity 全部 finish 掉。

    ActivityRecord#realActivity 是在 ActivityRecord 的構造方法中初始化的,其初始化邏輯在 Android 6.0 以下(包含 6.0)和 Android 7.0+ 有差異。

    Android 5.0/6.0(含以下)在初始化 ActivityRecord 的時候,未對 activity-alias 做判斷,realActivity 指向的是 activity-alias 這個 Activity 自身。Android 7.0+ 以后對 activity-alias 進行了判斷,realActivity 指向的是 activity-alias 的 targetActivity。

    上述這個差異也就導致了:如果待啟動 Activity 是某個 activity-alias 的 targetActivity,Android 6.0 和 Android 7.0+ 在處理 Intent 中 clear_top flag 時可能會有不同表現,前者 clear top 不生效,后者 clear top 生效。

    5.3 真相大白

    回到我們最初的問題:為什么我們的 App 在 Android 7.0 以下的版本上,發布頁加 clear top flag 跳轉到首頁 MainActivity 沒能清空任務棧?

    再來看下我們是怎么跳首頁的。從下圖可以看到跳首頁是指定的 class 是 AVEnv.APPLICATION_SERVICE.getPublishContainerActivityClass(),看了下具體的實現發現這個類就是 MainActivity,所以確實是直接跳到首頁的。

    在前面我們有提到,我們 App 的 Launch Activity 是 SplashActivity,但是它只是個 activity-alias,其 targetActivity 指向 MainActivity,MainActivity 的 launchMode 是 singleTop。經過上面對 Android 6.0, Android 7.0, Android 10.0 啟動流程的分析,我想答案已經比較明顯了。

    在 Android 5.1 上啟動 App 時,啟動 Launch Activity 實際啟動的是 MainActivity,但是插入到任務棧中的 ActivityRecord 的 realActivity 指向的是 SplashActivity 。當走完發布流程,在發布頁點擊存草稿時,再次啟動 MainActivity,創建的這個 ActivityRecord 的 realActivity 指向 MainActivity,在任務棧中找不到 realActivity 等于 MainActivity 的,所以 clear top 不會生效。

    在 Android 7.0+ 上的版本 clear top 會生效,原因不再贅述。

    如果要避免上述這種差異導致的 clear_top flag 不生效的問題,將 clear_top 的 Intent 指向 activity-alias 這個 Activity 即可。所以修復(準確地說是適配)這個問題的話可以把存草稿后打開首頁的 intent 的 class 設置成 SplashActivity,這么改動之后在 Android 5.1 的測試機上運行發現問題確實修復了。

    當然,既然 AOSP 是從 Android 7.0+ 做出的邏輯改動,也就解釋了為什么反饋用戶都是 Android 7.0 以下的系統。

    5.4 在 Demo 上驗證

    在 Android 5.1 上啟動 Demo App,然后用 adb 打印一下任務??纯?。打印出來發現任務棧中 ActivityRecord#realActivity 指向 Splash

    adb shell dumpsys activity activities | grep 'com.yongf.android.myapplication'

    同樣的包在 Android 7.0 上打印的信息如下,可以看到任務棧中 ActivityRecord#realActivity 已經不再指向 Splash,而是指向 A 了。

    adb shell dumpsys activity activities | grep 'com.yongf.android.myapplication'

    將 Demo 上的啟動鏈路改成:Splash --> A --> B --> C --> Splash,可以發現在 Android 5.1 的測試機和模擬器上 B 和 C 都被干掉了,clear top 生效了。

    行文到最后,再提一個有意思的點,估計是 6.0 上才發現這個問題,所以在 Android 7.0 上修復了這個問題,因為在 ActivityRecord 構造方法里 realActivity 的賦值邏輯上源碼里 7.0 新增了這樣一段注釋:

    最后,回到本文的標題,Intent#FLAG_ACTIVITY_CLEAR_TOP 真的會 clear top 嗎,你知道了嗎?^_^

    六、Demo 工程

    待上傳。

    七、推薦幾個工具

  • Carbon
    • Carbon is the easiest way to create and share beautiful images of your source code.
  • Android Source Code Viewer
    • Android Code Search

    八、關于作者

  • Github
  • 知乎
  • 掘金
  • 個人網站
  • 微信公眾號:

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的activity 启动模式_Intent#FLAG_ACTIVITY_CLEAR_TOP 真的会 clear top 吗的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    免费av观看| 日韩一级片网址 | 久草香蕉在线 | 免费在线观看国产精品 | 午夜精品电影 | 91福利视频一区 | 亚洲一区视频免费观看 | 久久激情视频 久久 | 久久午夜精品视频 | 看片网站黄| 国产麻豆精品久久 | 奇米四色影狠狠爱7777 | 肉色欧美久久久久久久免费看 | 特级xxxxx欧美 | 久久国产精品99久久久久久进口 | 国产精品日韩欧美一区二区 | 成人播放器 | 国产日韩欧美在线播放 | 91自拍视频在线观看 | 中文字幕在线人 | 欧美精彩视频在线观看 | 美女视频a美女大全免费下载蜜臀 | 成人试看120秒 | 伊色综合久久之综合久久 | 亚洲精品国产精品乱码不99热 | 国产成人中文字幕 | 毛片基地黄久久久久久天堂 | 国产在线精品国自产拍影院 | 天堂在线免费视频 | 青青五月天| 国产在线中文字幕 | 日本最新高清不卡中文字幕 | 免费av小说| a黄色片 | 久久精品最新 | 一级黄色片在线免费看 | 欧美少妇的秘密 | 一区二区三区四区在线 | 久久久久日本精品一区二区三区 | 麻豆传媒视频在线免费观看 | 免费看黄电影 | 黄色网在线播放 | 91九色在线观看 | 中文字幕在线观看一区二区 | 国产女人免费看a级丨片 | 成年人黄色在线观看 | 欧美久久久久久久久中文字幕 | 丁香电影小说免费视频观看 | 色操插 | 成人av网站在线播放 | 色在线免费视频 | 成年人免费电影在线观看 | av 一区二区三区 | 婷婷免费在线视频 | 欧美性做爰猛烈叫床潮 | 日韩色高清 | 1024手机基地在线观看 | 99九九热只有国产精品 | 黄色在线成人 | 最近免费中文视频 | 免费看的黄网站软件 | 一级特黄aaa大片在线观看 | 黄色av网站在线免费观看 | 国产拍在线 | 日韩在线免费视频观看 | 国产精品地址 | 色婷婷综合久久久中文字幕 | 黄色免费av | 五月婷网站 | 奇米四色影狠狠爱7777 | 天天鲁一鲁摸一摸爽一爽 | 波多野结衣在线视频免费观看 | 欧美一区二视频在线免费观看 | 免费看的毛片 | 精品一区中文字幕 | 亚洲 欧美变态 另类 综合 | 日韩激情第一页 | 69绿帽绿奴3pvideos | 麻豆视频www| 国产一区二区在线免费播放 | 日日摸日日爽 | 日日天天av | 国产手机视频在线观看 | 午夜婷婷在线播放 | 欧美激情视频一二三区 | 91欧美日韩国产 | 中文字幕日韩无 | a级片韩国 | 中文字幕高清视频 | 亚洲成年片 | 久久九九精品久久 | 91一区一区三区 | 久久久久久99精品 | 国产美女在线精品免费观看 | 在线色亚洲 | 日本久久电影网 | 在线免费视频你懂的 | 国产黄色av网站 | 国产美女视频免费 | 国产美女视频网站 | 午夜久久久久 | 天天干天天做天天操 | 国产自产高清不卡 | 久久久久国| 91在线porny国产在线看 | 日韩av一区二区在线影视 | 国内精品在线观看视频 | 精品国产诱惑 | 色综合久久久久久久久五月 | 亚洲综合婷婷 | 国产中文字幕三区 | 狠狠干综合网 | 综合国产在线观看 | 欧美一级片在线观看视频 | 天天激情综合 | 婷婷综合亚洲 | 国产精品久久久久久久久久久免费看 | 六月色婷婷| 久久婷婷精品视频 | 久久久在线观看 | 国内精品久久久久久久久久 | 91精品国产自产在线观看永久 | 毛片www | 久草在线最新视频 | 国产精品资源在线观看 | 亚洲在线网址 | 国产剧情久久 | 天天操夜夜操夜夜操 | 六月丁香色婷婷 | 五月婷婷综合在线观看 | 精品久久久久久久久久久院品网 | 国产成人l区 | 中文av在线免费观看 | 国产高清成人在线 | 免费久久网 | 久久精品—区二区三区 | 精品国偷自产在线 | av电影中文 | 三级av小说 | 日韩午夜一级片 | 91.精品高清在线观看 | 丝袜美腿在线视频 | 在线一区二区三区 | 丁香婷婷基地 | 欧美激情第十页 | 亚洲精品中文在线资源 | 国产一区在线视频观看 | 九九热免费在线视频 | 成人av电影免费在线播放 | 91网址在线看 | 精品视频中文字幕 | 91成人精品一区在线播放 | 9999在线 | 午夜免费福利视频 | 91av免费在线观看 | 国产在线色 | 日韩av看片| 日韩成人中文字幕 | 毛片网站在线看 | wwwwwww黄| 日本精品小视频 | 日日夜夜精品视频天天综合网 | 国产一级91| 久草在线观看视频免费 | 伊人久久影视 | 国产福利在线免费观看 | 一区 在线观看 | 欧美性生交大片免网 | 在线观看小视频 | 天天草天天干天天射 | 丁香电影小说免费视频观看 | 色婷婷av一区| 中文字幕 二区 | 777久久久| 中文字幕在线观看视频免费 | 97免费在线视频 | 国产欧美久久久精品影院 | 国产精品福利久久久 | 午夜精品电影 | 久久艹在线 | 99国内精品久久久久久久 | 色是在线视频 | 不卡电影免费在线播放一区 | 欧美日韩不卡一区二区 | 天天综合网天天综合色 | 欧美日韩国产精品一区二区三区 | 亚洲国内精品在线 | 欧美日韩亚洲在线观看 | 91高清视频免费 | 久久久久久久影院 | 色天天久久 | 亚洲精品高清一区二区三区四区 | 欧美一级裸体视频 | 久久99热久久99精品 | 亚洲欧美日韩精品久久久 | 国产麻豆剧传媒免费观看 | 69xx视频 | 中文字幕免费观看全部电影 | 亚洲黄色高清 | 久久中文字幕在线视频 | 精品女同一区二区三区在线观看 | 91精品视频免费在线观看 | 国产特级毛片aaaaaa毛片 | 国产精品久久久久久一区二区 | 在线观看的黄色 | 亚洲成人黄 | 狠狠色丁香婷婷综合久小说久 | 欧美日韩一区二区视频在线观看 | 成人天堂网 | 成人在线视频免费观看 | 色综合国产 | 二区在线播放 | 日韩av在线小说 | 99久久99热这里只有精品 | 最近日本韩国中文字幕 | 最近中文字幕完整高清 | 亚洲91精品在线观看 | 亚洲砖区区免费 | 久久久色 | 免费在线观看一级片 | 最近免费中文字幕 | av久久久 | 国产精品一区二区三区免费视频 | 色视频成人在线观看免 | 国产免费成人 | 日韩在线二区 | 黄色成品视频 | 日韩在线高清免费视频 | 最新中文字幕视频 | 久久男人中文字幕资源站 | 色综合久久久久综合99 | 日韩黄色免费看 | 免费观看的av | av中文在线观看 | 午夜黄色大片 | 99精品在线看 | 亚洲九九精品 | 色婷婷亚洲 | 国产区在线视频 | 中文字幕色网站 | 激情av一区二区 | 日韩高清 一区 | 国产精品美女久久久网av | 精品国产福利在线 | 欧美了一区在线观看 | 国产精品久久久久免费 | 中文字幕韩在线第一页 | 超碰在线天天 | av在线看网站 | 色婷五月| 亚洲dvd | 日韩在线播放视频 | 爱射综合| 日韩色综合网 | 黄污在线看 | 久久在线免费观看 | 免费网站黄色 | 午夜av色| 亚洲综合黄色 | 婷婷午夜激情 | 国产中文字幕视频在线 | 久久精品视频在线看 | 日日夜夜网| 国产一区二区成人 | 日本三级吹潮在线 | 91精品亚洲影视在线观看 | 国产精彩视频一区 | 中文字幕丰满人伦在线 | 日韩在线观看高清 | 国产无套精品久久久久久 | 免费在线观看av电影 | 91在线免费视频 | 国产视频精品免费播放 | 91插插插网站 | 91视视频在线直接观看在线看网页在线看 | 欧美极度另类性三渗透 | 久久久久久久久久网 | 日韩 精品 一区 国产 麻豆 | 久久成人福利 | 免费观看成人 | 天天插伊人| 九草在线观看 | 99久久久久国产精品免费 | 亚洲色综合 | 日韩av综合网站 | 久久刺激视频 | 色综合久久天天 | 中文字幕在线观看网站 | 欧美日韩伦理在线 | 欧美日韩调教 | 国产黄色免费看 | 国产一区二区在线观看免费 | 国产精品片 | 成人毛片久久 | 不卡的av在线播放 | 国产破处精品 | 免费日韩一级片 | 精品一区二区在线播放 | 天天做天天爱天天爽综合网 | 中文日韩在线视频 | 91在线亚洲| 久久久久国产精品一区 | 亚洲欧美精品一区 | 国产视频一区二区在线播放 | av在线激情| 国产亚洲精品成人av久久影院 | 日本最大色倩网站www | 国产成人免费在线观看 | 国产黄色资源 | 亚洲精品字幕在线 | 视频一区二区在线 | 久久亚洲国产精品 | 天天干天天操天天干 | 日色在线视频 | 久久99国产一区二区三区 | 久久视频这里只有精品 | 日韩高清无线码2023 | 久久成人国产精品 | 日韩成人一级大片 | 天天射天天色天天干 | 国产99久久久国产精品 | 三级a毛片| 一区二区 久久 | 嫩草91影院 | av一区二区三区在线 | av黄色成人 | 一级片免费在线 | 婷婷av网站| 在线成人短视频 | 国产麻豆精品一区 | 香蕉视频在线免费看 | 亚洲精品国产免费 | 免费在线电影网址大全 | 99九九99九九九视频精品 | 免费在线成人av电影 | 久久线视频 | 六月丁香激情综合 | 婷婷激情影院 | 最新av电影网址 | 精品久久91 | 天天射天天干天天插 | 精品久久99 | 国产精品福利无圣光在线一区 | 男女激情免费网站 | 人人干网 | 亚洲激情六月 | 欧美视频日韩视频 | 日韩综合在线观看 | 一级黄色网址 | 91精品视频播放 | 黄a网站 | 亚州精品天堂中文字幕 | 日韩av网页 | 久久草网站| 免费在线一区二区三区 | 久久免费视屏 | 日韩av不卡在线观看 | 在线天堂8√ | 福利片免费看 | 欧美亚洲成人免费 | 久久久91精品国产 | av中文在线影视 | 在线成人av | 丁香久久五月 | 毛片视频电影 | 久久综合五月天 | 免费麻豆 | 日韩久久视频 | 三级黄色大片在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 500部大龄熟乱视频 欧美日本三级 | 亚洲精品自在在线观看 | 精品国产视频一区 | 色视频国产直接看 | 色之综合网 | 日韩视频一 | 亚洲观看黄色网 | 500部大龄熟乱视频使用方法 | 亚洲综合在线五月 | 91亚·色| 韩国av在线| 日本性视频 | 国产精品久久久精品 | 黄色91免费观看 | 日韩欧美视频在线观看免费 | 久草视频2 | 久久国产精品精品国产色婷婷 | 999成人 | 免费看日韩 | 国产精品大全 | 免费在线观看黄色网 | 日本黄色一级电影 | 成人国产精品一区二区 | 黄网站色| 不卡av在线播放 | 精品在线播放视频 | 最新色视频 | 亚洲日日日 | 天天干夜夜爽 | 在线黄色国产 | 精品国产自在精品国产精野外直播 | 欧美三级在线播放 | 蜜桃麻豆www久久囤产精品 | 国产黄色精品在线 | 欧美午夜寂寞影院 | 国产99色 | 日韩精品一区二区三区免费观看视频 | 69久久久久久久 | 久久中文字幕在线视频 | 亚洲成人999 | 美女网站黄免费 | 日日夜夜精品视频天天综合网 | 亚洲激情在线观看 | 免费观看不卡av | 国产99久久久久久免费看 | 久久免费视频这里只有精品 | 国产成人精品a | 欧美日韩精品久久久 | av线上看 | 九九久久久久99精品 | 国产一区观看 | 日韩大片在线免费观看 | 91免费视频网站在线观看 | www.xxxx变态.com | 国产亚洲综合性久久久影院 | 91视频高清免费 | 日韩一二三在线 | 国产一区二区在线视频观看 | 久久久久久蜜桃一区二区 | 免费三级骚 | 玖玖色在线观看 | 天天干天天操天天爱 | 国产精品久久精品 | 精品亚洲男同gayvideo网站 | 国产999精品久久久影片官网 | 日本少妇高清做爰视频 | 国产伦精品一区二区三区免费 | 久久精品国产精品 | 久久久久网址 | 婷婷色婷婷| 九九九在线观看视频 | 亚洲黄色区 | 黄色亚洲| 欧美日韩在线观看不卡 | 五月婷婷在线播放 | 日韩一区二区三区免费视频 | 欧美色图30p | 97免费| 国产精品无av码在线观看 | 久草视频在线新免费 | 亚洲午夜av| 亚洲欧洲久久久 | 欧美日韩一区二区在线观看 | 91在线最新| 久久久69 | 91精品免费| 奇米7777狠狠狠琪琪视频 | 久草在线视频网站 | 久久99久久99 | av一本久道久久波多野结衣 | 亚洲免费观看视频 | 国产视频观看 | 美女久久一区 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 精品人人人 | 久久综合影视 | 国产精品 国产精品 | 98涩涩国产露脸精品国产网 | 精品国产视频在线观看 | 成人手机在线视频 | 欧产日产国产69 | 91久久影院| 国产精品一区二区av日韩在线 | 一区二区三区免费在线观看视频 | 精品美女久久久久久免费 | 免费三级黄色片 | 精品久久久久久久久久 | 国产生活一级片 | 国产精品免费久久久久影院仙踪林 | 国产一区私人高清影院 | 久久久久久久久久久高潮一区二区 | 亚洲欧美日韩一级 | 一区在线电影 | 欧美日韩中文国产一区发布 | 一区二区三区精品在线 | 国产大片黄色 | 成人在线播放免费观看 | 天天曰天天爽 | 欧美大片在线看免费观看 | 99精品国产福利在线观看免费 | 成人免费在线观看入口 | 国产区欧美| 黄色中文字幕 | 国产视频亚洲精品 | 精品亚洲免费视频 | 最新高清无码专区 | 韩国av一区二区三区 | 国产在线观看中文字幕 | 视频三区在线 | 中文字幕免费高清 | 日韩精品一区二区在线观看 | 国产精品一区二区三区在线播放 | 亚洲国产资源 | 色婷婷国产精品一区在线观看 | 一区二区三区在线视频111 | 亚洲最新av在线网址 | 久久成人精品电影 | 亚洲国产理论片 | 黄色三级在线观看 | 五月开心婷婷网 | 久久艹欧美 | 碰碰影院 | 国产一级一级国产 | 中文字幕免费高清在线观看 | 中文字幕在线播出 | 国产日韩欧美视频在线观看 | 亚洲一区久久 | 91麻豆文化传媒在线观看 | 超碰国产人人 | 国产精品 欧美 日韩 | 亚洲国产成人精品在线观看 | 国产在线成人 | 日本女人的性生活视频 | 在线婷婷| 亚洲精品国精品久久99热 | 久久曰视频 | 国产精品久久久久久久电影 | 99精品色| 久久成 | 99精品免费网 | 久久 精品一区 | 久久精品视频在线免费观看 | 午夜少妇av | 91在线91拍拍在线91 | 婷婷亚洲综合五月天小说 | 久久免费视频7 | 久久久亚洲精华液 | 丁香六月综合网 | 国产中文字幕av | 波多野结衣在线观看一区 | 美女网站黄免费 | 91成人免费电影 | 久久精品xxx | 亚洲激情婷婷 | 深爱五月激情五月 | 天天干夜夜擦 | 99精品视频免费看 | 日韩在线视频网站 | 人人干97 | 999成人免费视频 | 香蕉91视频 | 欧美污在线观看 | 99色99| 国产91国语对白在线 | 久久精品3 | 日韩激情在线视频 | 精品美女久久久久久免费 | 91在线免费观看网站 | 久久精品站 | 中文字幕在线日本 | 久久综合狠狠综合久久狠狠色综合 | 亚洲人人av | www日韩在线观看 | 亚洲一级片在线看 | 久久视频免费在线观看 | 黄色小说网站在线 | 插插插色综合 | 日韩电影在线观看一区二区 | 97涩涩视频 | 亚洲伦理电影在线 | 96亚洲精品久久久蜜桃 | 四虎成人精品永久免费av | 最近中文字幕视频网 | 日韩欧美综合在线视频 | 一区二区三区视频网站 | 日产乱码一二三区别免费 | 成人app在线免费观看 | 久久神马影院 | 人人澡人人爱 | 国产高清不卡一区二区三区 | 国产精品一区二区av | 久久精品九色 | 人人看黄色 | 久久精品成人 | 国产日韩欧美网站 | 国产成人精品久 | 色干综合| 69国产盗摄一区二区三区五区 | 日韩在线欧美在线 | 欧美成人999 | 日韩在线播放视频 | 色婷婷av一区二 | 国产黄色看片 | 96视频在线 | 亚洲精品欧美专区 | 国产精品美女视频网站 | 久久免费播放视频 | 免费男女羞羞的视频网站中文字幕 | 黄色网中文字幕 | 在线中文字幕观看 | 国产精品资源 | 粉嫩av一区二区三区四区 | 国产精品毛片一区 | 成人在线免费小视频 | 视频一区二区免费 | 亚洲播播 | 91欧美日韩国产 | 在线 影视 一区 | 日韩精品一区二区三区第95 | 日韩久久在线 | 在线观看成人福利 | 亚洲国产精品电影 | 婷婷国产在线 | 欧美成人69av| 在线免费观看黄色大片 | 亚洲成aⅴ人在线观看 | 久久男人免费视频 | 中文字幕av最新更新 | 免费人人干 | 亚洲国产日韩av | 日韩一区在线播放 | 婷婷色婷婷| 一本一道久久a久久精品蜜桃 | 成人黄色电影在线观看 | 久久久高清免费视频 | 黄色片网站免费 | 四虎免费在线观看 | 99在线精品视频在线观看 | 91人人澡人人爽人人精品 | 国产精品视频全国免费观看 | 日韩在线观看网址 | 国产精品免费高清 | 7777精品伊人久久久大香线蕉 | 国产色视频网站 | 色com| 日本天天操 | 久久久国产在线视频 | 成人黄色影片在线 | 日日夜夜人人天天 | 久久 亚洲视频 | 91av电影| 欧美日韩亚洲精品在线 | 久久视频国产 | 99精品欧美一区二区三区 | 成人h视频在线 | 欧美性网站 | 日韩av资源在线观看 | 亚州成人av在线 | 97超碰在线免费 | 免费看在线看www777 | 精品特级毛片 | 曰韩在线 | 丁香激情婷婷 | 六月丁香婷婷网 | 欧美老少交 | 国产精品免费久久久久久 | www.五月婷婷 | 超碰999 | 久久99精品国产99久久6尤 | 国产99亚洲| 97碰碰视频 | 国产精品精品国产婷婷这里av | 日韩电影在线观看一区 | 精品国产乱码一区二 | 久久婷婷综合激情 | 91亚·色 | 日本黄色大片儿 | 成人午夜在线观看 | 国产最新视频在线观看 | 国产99精品在线观看 | 日韩黄色av网站 | 午夜免费福利片 | 九九热在线播放 | 国产91欧美 | 午夜精品成人一区二区三区 | 免费三级av| 午夜精品99久久免费 | 天天摸夜夜操 | 国产成人精品日本亚洲999 | 综合久久影院 | 国产99在线免费 | 国产精品久久毛片 | 久草在线观看 | 韩国一区二区三区在线观看 | 99久热在线精品 | 婷婷综合在线 | 黄污污网站| 天天躁天天操 | 欧美性生活免费 | 激情婷婷亚洲 | 久久一区二区三区国产精品 | 国内精品视频免费 | 国产高清视频在线免费观看 | 在线天堂v| 欧美亚洲国产日韩 | 亚洲精品午夜视频 | 精品亚洲国产视频 | 四虎在线观看精品视频 | 天天干天天天 | 日本一区二区三区视频在线播放 | 国产精品免费观看网站 | 国产欧美三级 | 91精品久久久久久 | 成人久久毛片 | 国产成人精品在线观看 | 干 操 插| 国产精品女同一区二区三区久久夜 | 99久久国产免费,99久久国产免费大片 | 国产视频综合在线 | 五月天免费网站 | 国产一区二区三区高清播放 | 日韩高清三区 | 久久99精品国产91久久来源 | 亚洲国产天堂av | 永久黄网站色视频免费观看w | 91在线看| 国产1区在线观看 | 日本h视频在线观看 | 天天干天天干天天操 | 99精品久久久 | 天天操夜夜拍 | 98超碰在线 | 在线观看一 | 一本一本久久a久久精品综合 | 精品91在线| 在线网址你懂得 | 成人教育av | 国产伦精品一区二区三区无广告 | 91视频久久久久 | 亚洲视频h | av在线播放快速免费阴 | 美女精品国产 | 精品国产亚洲日本 | 日本一区二区三区视频在线播放 | 免费看污的网站 | 五月婷婷六月丁香激情 | 玖草影院| 久久免费视频2 | 久久免费视频观看 | 国产一级高清 | 久久99精品国产99久久6尤 | 国产精品入口麻豆 | 色综合天 | 五月天婷婷综合 | 亚洲精品免费在线观看视频 | 久久国色夜色精品国产 | 黄色网中文字幕 | 91精品网站 | 中文字幕亚洲欧美日韩 | 国产原创在线观看 | 久久国产午夜精品理论片最新版本 | 丁香婷婷社区 | 亚洲在线免费视频 | 人人爽人人片 | 91精品免费视频 | 四虎国产精品免费 | 黄色www在线观看 | 大胆欧美gogo免费视频一二区 | 97在线观看免费 | 国产精品麻豆一区二区三区 | 免费在线日韩 | 久久一区二 | 超级碰碰碰免费视频 | 成人午夜精品福利免费 | 成人免费在线电影 | 三级在线视频观看 | 狠狠色噜噜狠狠狠 | 亚洲夜夜爽 | 国产精品一级视频 | 狠狠躁夜夜a产精品视频 | 免费影视大全推荐 | 超碰伊人网 | 亚洲一二三在线 | 色噜噜在线观看视频 | 特级大胆西西4444www | 久99久中文字幕在线 | 亚洲国产成人精品久久 | 国内精品免费 | 综合天天 | 中文十次啦 | 五月婷婷久草 | 亚洲综合成人专区片 | 日韩视频中文字幕 | 人人涩 | 日韩欧美精品在线观看视频 | 久久精品免费 | 最近中文字幕免费 | 91精品在线看 | 久久久久久久久网站 | 亚洲黄a | 99久久精品国产亚洲 | 成人av中文字幕 | 一区二区三区在线观看免费 | 亚洲成人资源在线观看 | 九九热只有精品 | 国产精品黄色 | 欧美男女爱爱视频 | 亚洲 中文 欧美 日韩vr 在线 | 在线免费黄色av | 97成人精品视频在线观看 | 久久任你操 | 久久艹久久| 中文字幕久久网 | 天天艹天天爽 | 国产精品高潮呻吟久久av无 | 手机看片久久 | 免费看的黄色小视频 | 精品在线视频观看 | 久久久久久国产精品亚洲78 | 精品久久久久久国产 | 98涩涩国产露脸精品国产网 | 国产成人61精品免费看片 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久这里只有精品久久 | 超碰官网| 嫩草伊人久久精品少妇av | 国产不卡精品视频 | 国内99视频| 玖玖爱免费视频 | 久久精品国产亚洲a | www久久com | 成人毛片一区二区三区 | 西西444www大胆高清视频 | 在线午夜av | 日韩剧情 | 国产成人不卡 | 欧美另类69 | 又色又爽又黄高潮的免费视频 | 在线观看资源 | 亚洲网久久 | av免费片 | 色综合天天综合网国产成人网 | 国产1区2区3区精品美女 | 日本精品久久久久中文字幕5 | 久久伊人操 | 国产成人亚洲精品自产在线 | 一区av在线播放 | 日韩视频免费在线 | 久久国产精品第一页 | 亚洲黄色在线观看 | 91麻豆免费看 | 午夜成人影视 | 亚洲 欧洲 国产 日本 综合 | 国产精品手机看片 | 国产很黄很色的视频 | 国产黄色片久久 | 亚洲 在线 | 日韩一区二区三区不卡 | 在线观看免费高清视频大全追剧 | 中文字幕av一区二区三区四区 | a天堂免费 | 欧美激情精品久久久久久 | 96久久| 成人av高清在线观看 | www免费网站在线观看 | www.午夜| 草久在线播放 | 在线观看成人小视频 | 国产精品观看视频 | 亚洲另类人人澡 | 在线观看国产福利片 | 精品久久久免费 | 久久九九久久九九 | 欧美精品一区二区蜜臀亚洲 | 天天操天天摸天天干 | 久久久久久久99精品免费观看 | 色av色av色av | 国产视频欧美视频 | 日韩欧美精品在线观看 | 特级黄录像视频 | 精品色综合 | 天天综合网 天天综合色 | 午夜视频在线瓜伦 | 精品在线不卡 | 久久热首页 | 日韩在线大片 | 99999精品| 色多多在线观看 | 国产午夜精品在线 | 亚州精品国产 | 91av在线不卡 | 亚洲五月婷婷 | 91网站在线视频 | 日韩成片 | 黄色免费观看网址 | 视频二区 | 一区二区三区日韩视频在线观看 | www久久精品 | 精品二区久久 | 在线观看视频亚洲 | 色婷婷在线观看视频 | 国产一区视频免费在线观看 | 免费欧美 | 婷婷精品国产一区二区三区日韩 | 韩国av一区二区三区在线观看 | 久久精品网站免费观看 | 亚洲精品一区二区三区新线路 | www国产精品com| 国产精品毛片完整版 | 黄色大全免费网站 | 国产色网| 成人综合婷婷国产精品久久免费 | 国产福利91精品一区 | 国产成人精品一区二区三区在线 | 国产亚洲精品成人 | 亚洲综合涩 | 91九色网站 | 日日弄天天弄美女bbbb | 在线观看日韩免费视频 | 中文永久字幕 | 午夜精品一区二区三区在线视频 | 91激情| 少妇性bbb搡bbb爽爽爽欧美 | 久久亚洲人 | 日日爱av | 97综合网 | 国产日韩精品一区二区三区 | 国产一级a毛片视频爆浆 | 亚洲年轻女教师毛茸茸 | 中文字幕区 | 色网站中文字幕 | 中文字幕在线国产 | 国产手机视频在线观看 | 天天天色 | va视频在线观看 | 亚洲精品乱码久久久久久9色 | 日韩91精品 | 国产精品免费一区二区三区 | 欧美激情xxxx性bbbb | 一区二区久久久久 | 成人精品亚洲 | 国产剧情亚洲 | 国产精品视频全国免费观看 | 欧美另类z0zx | 久草影视在线观看 | 日韩专区中文字幕 | 91看片淫黄大片在线播放 | 成人久久18免费网站 | 欧美一级免费高清 | 久久视频网址 | 激情视频一区 | 视频高清| 成人久久久精品国产乱码一区二区 | 国产一区二区久久 | 国产区久久 | 国产福利一区在线观看 | 久国产在线播放 | 中文字幕精品三级久久久 | 中文字幕在线播放一区二区 | 91最新在线观看 | 2022久久国产露脸精品国产 | 国产精品久久久久久高潮 | 一级黄色大片 | www.黄色小说.com | 成人午夜剧场在线观看 | 97av在线| 99热99re6国产在线播放 | 五月天天av | 91色在线观看| 婷婷久久五月 | 亚洲国产成人精品电影在线观看 | 精品亚洲欧美一区 | 99re视频在线观看 | 国产美女视频免费 | 中文字幕一区二区三区四区视频 | 狠狠狠操 | 成人三级网址 | 国产一级二级三级在线观看 | 日韩视 | 国产在线观看免费观看 | 五月天国产 | 欧美日韩中文字幕在线视频 | 97人人澡人人添人人爽超碰 | 久久久高清 | 亚洲国产中文字幕 | 丰满少妇在线观看网站 | 久久99热精品 | 午夜视频免费播放 | 亚洲精品国产精品国产 | 日韩精品久久久久 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 久久视| 国产高清在线免费视频 | 91九色在线观看视频 | 国产在线看 | 懂色av一区二区在线播放 | 成人h视频 | 国产色视频一区二区三区qq号 | 在线观看中文字幕亚洲 | 欧美激情第28页 | 看片网站黄色 | 亚洲国产中文字幕在线观看 | 欧美精品在线观看免费 | 色欧美成人精品a∨在线观看 | 永久免费毛片在线观看 | 最新av中文字幕 | 久久国产精品系列 | 1区2区3区在线观看 三级动图 |