久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

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

Android

带你梳理一遍 Android 核心知识

發布時間:2023/12/20 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带你梳理一遍 Android 核心知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文導讀|???點擊標題閱讀

互聯網寒冬下,程序員如何突圍提升自己?

Flutter 與 React Native 誰主沉浮?

女面試官:我拉鏈開了你怎么提醒我?

作者:薛定貓的諤

https://juejin.im/post/5c46db4ae51d4503834d8227

超長好文,建議慢慢品用,由于篇幅超越微信限制,略微有點刪減,不影響閱讀。


0、一句話知識點


1. Android 9 (API level 28) 開始廢棄了 Loader API,包括 LoaderManager 和 CursorLoader 等類的使用。推薦使用 ViewModel 和 LiveData 在 Activity 或 Fragment 生命周期中加載數據;


2. Activity 可以通過 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) 保持屏幕常亮,這是最推薦、最簡單、最安全的保持屏幕常亮的方法,給 view 添加 android:keepScreenOn="true" 也是一樣的。


這個只在這個 Activity 生命周期內有效,所以大可放心,如果想提前解除常亮,只需要清除這個 flag 即可。


3. WAKE_LOCK 可以阻止系統睡眠,保持 CPU 一直運行,需要 android.permission.WAKE_LOCK 權限。


通過 powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::MyWakelockTag") 創建實例


通過 wakeLock.acquire() 方法請求鎖,通過 wakelock.release() 釋放鎖


4.?WakefulBroadcastReceiver 結合 IntentService 也可以阻止系統睡眠;


5. Android 8.0 (API level 26) 開始支持自適應啟動圖標,自適應啟動圖標必須由前景和背景兩部分組成,尺寸必須都是 108 x 108 dp,其中內部的 72 x 72 dp 用來顯示圖標,靠近四個邊緣的 18 dp 是保留區域,用來進行視覺交互


6. 對于字體大小自適應的 TextView 寬和高都不能是 wrap_content,autoSizeTextType 默認是 none,設置為 uniform 開啟自適應,默認最小 12sp,最大 112sp,粒度 1px。autoSizePresetSizes 屬性可以設置預置的一些大小


7. Android 8.0 (API level 26) 開始支持 XML 自定義字體,兼容庫可以兼容到 Android 4.1 (API level 16),字體文件路徑為 res/font/,使用屬性為 fontFamily,獲取 Typeface 為 getResources().getFont(R.font.myfont);,兼容庫使用 ResourcesCompat.getFont(context, R.font.myfont)


8. Android 9 (API level 28) 支持控件放大鏡功能,Magnifier 的 show() 方法的參數是相對于被放大 View 的左上角的坐標


9. 工程中的 Drawable 資源只能有一個狀態,你不應該手動更改它的任何屬性,否則會影響到其它使用這個 Drawable 資源的地方


10. Android 7.0 (API level 24) 開始支持在 XML 文件中使用自定義 Drawable,公共頂級類使用全限定名作為標簽名即可 <com.myapp.MyDrawable>,公共靜態內部類可以使用 class 屬性 class="com.myapp.MyTopLevelClass$MyDrawable"


11. Android 5.0 (API level 21) 開始支持為 Drawable 設置 tint


12. Android 5.0 (API level 21) 開始支持矢量圖,支持庫可以支持到 Android 2.1 (API level 7+),兼容低版本是需要 Gradle 插件版本大于 2.0+ 時添加 vectorDrawables.useSupportLibrary = true 并使用 VectorDrawableCompat 和 AnimatedVectorDrawableCompat


1、應用資源


1. 添加資源限定符的順序為:?


SIM 卡所屬的國家代碼和移動網代碼 → 語言區域代碼 → 布局方向 → 最小寬度 → 可用寬度 → 可用高度 → 屏幕大不大 → 屏幕長不長 → 屏幕圓不圓 → 屏幕色域寬不寬 → 屏幕支持的動態范圍高不高 → 屏幕方向 → 設備的 UI 模式 → 夜間模式 → 屏幕像素密度 → 觸摸屏類型 → 鍵盤類型 → 主要的文字輸入方式 ?→ 導航鍵是否可用 → 主要的非觸摸導航方式 → 支持的 API level


2. 一個資源目錄的每種資源限定符最多只能出現一次;


3. 必須提供缺省的資源文件;


4. 資源目錄名是大小寫不敏感的;


5. drawable 資源取別名:


<?xml?version="1.0"?encoding="utf-8"?><resources>????<drawable?name="icon">@drawable/icon_ca</drawable></resources>
<resources>
????<drawable?name="icon">@drawable/icon_ca</drawable>
</resources>

6.?布局文件取別名:


<?xml?version="1.0"?encoding="utf-8"?><merge>????<include?layout="@layout/main_ltr"/></merge>
<merge>
????<include?layout="@layout/main_ltr"/>
</merge>


只有動畫、菜單、raw 資源 以及 xml/ 目錄中的資源不能使用別名


7. 尋找使用最優資源的流程:



8. 在應用程序運行時,設備的配置可能會發生變化(如屏幕方向變化、切換到多窗口模式,切換了系統語言),默認情況下系統會銷毀重建正在運行的 Activity ,所以應用程序必須保證銷毀重建的過程中用戶的數據和頁面狀態完好無損地恢復。


如果不想系統銷毀重建你的 Activity 只需要在 manifest 文件的 <activity> 標簽的 android:configChanges 屬性中添加你想自己處理的配置更改,多個配置使用 "|" 隔開,此時系統就不會在這些配置更改后銷毀重建你的這個 Activity 而是直接調用它的 onConfigurationChanged() 回調方法,你需要在這個回調中自己處理配置更改后的行為。


9. Activity 的銷毀重建不但發生在設備配置更改后,只要用戶離開了某個 Activity,那么那個 Activity 就隨時可能被系統銷毀。所以銷毀重建是無法避免的,也不應該逃避,而是應該想辦法保存和恢復狀態


10. 由于各種各樣的硬件都能安裝 Android 操作系統,Android 操作系統之間也可能千差萬別,而應用程序的一些功能是與這些軟硬件息息相關的,如拍照應用需要設備必須有攝像頭才能正常工作。


應用可以通過 <uses-feature> 標簽聲明只有滿足這些軟硬件要求的設備才能安裝,通過它的 android:required 屬性設置該要求是不是必須的,程序中可以通過 PackageManager.hasSystemFeature() 方法判斷.

2、動態申請權限


1. Android 6.0 (API level 23) 開始 targetSdkVersion >= 23 的應用必須在運行時動態申請權限


2. 權限請求對話框是操作系統進行管理的,應用無法也不應該干預。


3. 系統對話框描述的是權限組而不是某個具體權限


4. 調用 requestPermissions() 并不意味著系統一定會彈出權限請求對話框,也就是說不能假設調用該方法后就發生了用戶交互,因為如果用戶之前勾選了 “禁止后不再詢問” 或者系統策略禁止應用獲取權限,那么系統會直接拒絕此次權限請求,沒有任何交互


5. 如果某個權限跟應用的主要功能無關,如應用中廣告可能需要位置權限,用戶可能很費解,此時在申請權限之前彈出對話框向用戶解釋為什么需要這個權限是個不錯的選擇。但不要在所有申請權限之前都彈出對話框解釋,因為頻繁地打斷用戶的操作或讓用戶進行選擇容易讓用戶不耐煩


6. Fragment 中的 onRequestPermissionsResult() 方法只有在使用 Fragment#requestPermissions() 方法申請權限時才可能接收到回調,建議將權限放在所屬 Activity 中申請和處理


7. 應用應該盡量少地申請權限,像讓用戶拍一張照片或者選擇一張圖片完全不需要相機權限和外存權限,可以通過隱式 Intent 拉起系統相機或其他應用完成,應用只需要在 onActivityResult() 回調中接收數據就行了。但是有一點一定要注意,如果你在 AndroidManifest.xml 文件中聲明了相機權限,你就必須得動態申請并獲得相機權限才能拉起系統相機.


//?請求通訊錄權限的模板代碼如下private?void?showContactsWithPermissionsCheck()?{????if?(ContextCompat.checkSelfPermission(MainActivity.this,????????????Manifest.permission.READ_CONTACTS)????????????!=?PackageManager.PERMISSION_GRANTED)?{????????if?(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,????????????????Manifest.permission.READ_CONTACTS))?{????????????//?TODO:?彈框解釋為什么需要這個權限.?【下一步】?->?再次請求權限????????}?else?{????????????ActivityCompat.requestPermissions(MainActivity.this,????????????????????new?String[]{Manifest.permission.READ_CONTACTS},????????????????????RC_CONTACTS);????????}????}?else?{????????showContacts();????}}private?void?showContacts()?{????startActivity(ContactsActivity.getIntent(MainActivity.this));}@Overridepublic?void?onRequestPermissionsResult(int?requestCode,?@NonNull?String[]?permissions,???????????????????????????????????????@NonNull?int[]?grantResults)?{????super.onRequestPermissionsResult(requestCode,?permissions,?grantResults);????switch?(requestCode)?{????????case?RC_CONTACTS:????????????if?(grantResults.length?>?0????????????????????&&?grantResults[0]?==?PackageManager.PERMISSION_GRANTED)?{????????????????showContacts();????????????}?else?{????????????????if?(!ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,????????????????????????Manifest.permission.READ_CONTACTS))?{????????????????????//?TODO:?彈框引導用戶去設置頁主動授予該權限.?【去設置】?->?應用信息頁????????????????}?else?{????????????????????//?TODO:?彈框解釋為什么需要這個權限.?【下一步】?->?再次請求權限????????????????}????????????}????????????break;????????default:????????????break;????}}@Overrideprotected?void?onActivityResult(int?requestCode,?int?resultCode,?@Nullable?Intent?data)?{????super.onActivityResult(requestCode,?resultCode,?data);????if?(requestCode?==?RC_SETTINGS)?{????????//?TODO:?在用戶主動授予權限后重新檢查權限,但不要在這里進行事務提交等生命周期敏感操作????}}
private?void?showContactsWithPermissionsCheck()?{
????if?(ContextCompat.checkSelfPermission(MainActivity.this,
????????????Manifest.permission.READ_CONTACTS)
????????????!=?PackageManager.PERMISSION_GRANTED)?{
????????if?(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
????????????????Manifest.permission.READ_CONTACTS))?{
????????????//?TODO:?彈框解釋為什么需要這個權限.?【下一步】?->?再次請求權限
????????}?else?{
????????????ActivityCompat.requestPermissions(MainActivity.this,
????????????????????new?String[]{Manifest.permission.READ_CONTACTS},
????????????????????RC_CONTACTS);
????????}
????}?else?{
????????showContacts();
????}
}
private?void?showContacts()?{
????startActivity(ContactsActivity.getIntent(MainActivity.this));
}
@Override
public?void?onRequestPermissionsResult(int?requestCode,?@NonNull?String[]?permissions,
???????????????????????????????????????@NonNull?int[]?grantResults)
?
{
????super.onRequestPermissionsResult(requestCode,?permissions,?grantResults);
????switch?(requestCode)?{
????????case?RC_CONTACTS:
????????????if?(grantResults.length?>?0
????????????????????&&?grantResults[0]?==?PackageManager.PERMISSION_GRANTED)?{
????????????????showContacts();
????????????}?else?{
????????????????if?(!ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
????????????????????????Manifest.permission.READ_CONTACTS))?{
????????????????????//?TODO:?彈框引導用戶去設置頁主動授予該權限.?【去設置】?->?應用信息頁
????????????????}?else?{
????????????????????//?TODO:?彈框解釋為什么需要這個權限.?【下一步】?->?再次請求權限
????????????????}
????????????}
????????????break;
????????default:
????????????break;
????}
}
@Override
protected?void?onActivityResult(int?requestCode,?int?resultCode,?@Nullable?Intent?data)?{
????super.onActivityResult(requestCode,?resultCode,?data);
????if?(requestCode?==?RC_SETTINGS)?{
????????//?TODO:?在用戶主動授予權限后重新檢查權限,但不要在這里進行事務提交等生命周期敏感操作
????}
}


注意看上述代碼中TODO標識。

3、Shortcut


1. 類似于 iOS 的 3D Touch,長按啟動圖標彈出幾個快捷入口,入口最好不要超過 4 個,像搜索、掃描二維碼、發帖等應用程序最常用功能的入口被稱為靜態 shortcut,不會隨著用戶不同或隨著用戶使用而改變。


還有一種像從某個存檔點繼續游戲、任務進度等與用戶相關的上下文敏感入口被稱為動態 shortcut,會因用戶不同或隨著用戶使用不斷變化。還有一種在 Android 8.0 (API level 26) 及以上系統版本上像固定網頁標簽等用戶主動固定到桌面的快捷方式被稱為固定 shortcut


2. 靜態 shortcut 系統可以自動備份和恢復,動態 shortcut 需要應用自己備份和恢復,固定 shortcut 的圖標系統無法備份和恢復因此需要應用自己完成


3. android:shortcutId 和 android:shortcutShortLabel 屬性是必須的,android:shortcutShortLabel 不能超過 10 個字符,android:shortcutLongLabel 不能超過 25 個字符,android:icon 不能包含 tint


4. 獲取 ShortcutManager 的方式有兩個: getSystemService(ShortcutManager.class) 和 getSystemService(Context.SHORTCUT_SERVICE)


5. 創建固定 shortcut:


ShortcutManager?mShortcutManager?=????????context.getSystemService(ShortcutManager.class);if?(mShortcutManager.isRequestPinShortcutSupported())?{????ShortcutInfo?pinShortcutInfo?=????????????new?ShortcutInfo.Builder(context,?"my-shortcut").build();????Intent?pinnedShortcutCallbackIntent?=????????????mShortcutManager.createShortcutResultIntent(pinShortcutInfo);????PendingIntent?successCallback?=?PendingIntent.getBroadcast(context,?0,????????????pinnedShortcutCallbackIntent,?0);????mShortcutManager.requestPinShortcut(pinShortcutInfo,????????????successCallback.getIntentSender());}class);
if?(mShortcutManager.isRequestPinShortcutSupported())?{
????ShortcutInfo?pinShortcutInfo?=
????????????new?ShortcutInfo.Builder(context,?"my-shortcut").build();
????Intent?pinnedShortcutCallbackIntent?=
????????????mShortcutManager.createShortcutResultIntent(pinShortcutInfo);
????PendingIntent?successCallback?=?PendingIntent.getBroadcast(context,?0,
????????????pinnedShortcutCallbackIntent,?0);
????mShortcutManager.requestPinShortcut(pinShortcutInfo,
????????????successCallback.getIntentSender());
}

4、系統欄適配


1. Android 4.1 (API level 16) 開始可以通過 setSystemUiVisibility() 方法在各個 view 層次中(一般是在 DecorView 中)配置 UI flag 實現系統欄(狀態欄、導航欄統稱)配置,最終匯總體現到 window 級


2.?View.SYSTEM_UI_FLAG_FULLSCREEN 可以隱藏狀態欄,View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 可以隱藏導航欄。但是: 用戶的任何交互包括觸摸屏幕都會導致 flag 被清除進而系統欄保持可見,一旦離開當前 Activity flag 就會被清除,所以如果在 onCreate() 方法中設置了這個 flag 那么按 HOME 鍵再回來狀態欄又保持可見了。


非要這樣設置的話一般要放在 onResume() ?或 onWindowFocusChanged() 方法中,而且這樣設置只有在目標 View 可見時才會生效,狀態欄/導航欄的顯示隱藏會導致顯示內容的大小尺寸跟著變化。



3. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE 可以讓內容顯示在狀態欄后面,View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE 可以讓內容顯示在導航欄后面,這樣無論系統欄顯示還是隱藏內容都不會跟著變化。


但不要讓可交互的內容出現在系統欄區域內,通過將 android:fitsSystemWindows 屬性設置為 true 可以讓父容器調整 padding 以便為系統欄留出空間,如果想自定義這個 padding 可以通過覆寫 View 的 fitSystemWindows(Rect insets) 方法(API level 20 以上覆寫 onApplyWindowInsets(WindowInsets insets) 方法)完成


4. lean back 全屏模式: View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,隱藏狀態欄和導航欄,任何交互都會清除 flag 使系統欄保持可見


5. Immersive 全屏模式: View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,隱藏狀態欄和導航欄,從被隱藏的系統欄邊緣向內滑動會使系統欄保持可見,應用無法響應這個手勢


6. sticky immersive 全屏模式: View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,隱藏狀態欄和導航欄,從被隱藏的系統欄邊緣向內滑動會使系統欄暫時可見,flag 不會被清除,且系統欄的背景是半透明的,會覆蓋應用的內容,應用也可以響應這個手勢,在用戶沒有任何交互或者沒有系統欄交互幾秒鐘后系統欄會自動隱藏


7. 真正的沉浸式全屏體驗需要 6 個 flag:?


View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |?

View.SYSTEM_UI_FLAG_LAYOUT_STABLE |?

View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |?

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |?

View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |?

View.SYSTEM_UI_FLAG_FULLSCREEN


8. 監聽系統欄可見性(sticky immersive 全屏模式無法監聽):


decorView.setOnSystemUiVisibilityChangeListener(new?View.OnSystemUiVisibilityChangeListener()?{????@Override????public?void?onSystemUiVisibilityChange(int?visibility)?{????????if?((visibility?&?View.SYSTEM_UI_FLAG_FULLSCREEN)?==?0)?{????????????//?TODO:?The?system?bars?are?visible.?Make?any?desired????????}?else?{????????????//?TODO:?The?system?bars?are?NOT?visible.?Make?any?desired????????}????}});
????@Override
????public?void?onSystemUiVisibilityChange(int?visibility)?{
????????if?((visibility?&?View.SYSTEM_UI_FLAG_FULLSCREEN)?==?0)?{
????????????//?TODO:?The?system?bars?are?visible.?Make?any?desired
????????}?else?{
????????????//?TODO:?The?system?bars?are?NOT?visible.?Make?any?desired
????????}
????}
});


9. 全面屏適配只需要指定支持的最大寬高比即可:?


<meta-data android:name="android.max_aspect" android:value="2.4"/>


10. Android 9 (API level 28) 開始支持劉海屏 cutout 的配置,window 的屬性 layoutInDisplayCutoutMode 默認是 LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT,豎屏時可以渲染到劉海區,橫屏時不允許渲染到劉海區。


LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 橫豎屏都可以渲染到劉海區。


LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER 橫豎屏都不允許渲染到劉海區,可以在 values-v28/styles.xml 文件中通過 android:windowLayoutInDisplayCutoutMode 指定默認的劉海區渲染模式


11. 華為手機通過 <meta-data android:name="android.notch_support" android:value="true" /> 屬性聲明應用是否已經適配了劉海屏,如果沒適配,那么在橫屏或者豎屏不顯示狀態欄時會禁止渲染到劉海區,可以參考: 《華為劉海屏手機安卓O版本適配指導》。


12. 小米手機通過 <meta-data android:name="notch.config" android:value="portrait|landscape" /> 設置默認的劉海區渲染模式,開發者文檔:?


小米劉海屏 Android O 適配

https://dev.mi.com/console/doc/detail?pId=1293


小米劉海屏 Android P 適配?

https://dev.mi.com/console/doc/detail?pId=1341


13. 其他手機的開發者文檔有: OPPO 手機的?


OPPO凹形屏適配說明

https://open.oppomobile.com/wiki/doc#id=10159


VIVO 手機的?

異形屏應用適配指南?https://dev.vivo.com.cn/documentCenter/doc/103


錘子手機的

Smartisan 開發者文檔https://resource.smartisan.com/resource/61263ed9599961d1191cc4381943b47a.pdf


14. Android 5.0 (API level 21) 開始支持通過 window 的 setStatusBarColor() 方法設置狀態欄背景色,要求 window 必須添加 WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 的 flag 并且清除 WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 的 flag


15. Android 6.0 (API level 23) 開始可以通過 setSystemUiVisibility() 方法設置 View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR flag 兼容亮色背景的狀態欄,同樣要求 window 必須添加 WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 的 flag 并且清除 WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 的 flag


16. 小米手機在 MIUI 開發版 7.7.13 之前需要通過反射兼容亮色背景的狀態欄,開發者文檔:《MIUI 9 & 10“狀態欄黑色字符”實現方法變更通知》

https://dev.mi.com/console/doc/detail?pId=1159


17. 魅族手機同樣需要通過反射兼容亮色背景的狀態欄,開發者文檔:?

《狀態欄變色》

http://open-wiki.flyme.cn/doc-wiki/index#id?79


5、動畫


view 動畫系統只能作用于 view 對象,只能改變 view 的部分樣式,只是簡單改變了 view 繪制,并沒有改變 view 真正的位置和屬性。核心類是 android.view.animation.Animation 和它的 ScaleAnimation 等子類,一般使用 AnimationUtils.loadAnimation() 方法加載。不建議使用,除非為了方便又能滿足現在和將來的需求


1. 屬性動畫系統是一個健壯的、優雅的動畫系統,可以對任意對象的屬性做動畫。核心類是 android.animation.Animator 的子類 ValueAnimator、ObjectAnimator、AnimatorSet


2. 通過調用 ValueAnimator 的 ofInt()、ofFloat() 等工廠方法獲取 ValueAnimator 對象,通過它的 addUpdateListener() 方法可以監聽動畫值并在里面進行自定義操作


3. ObjectAnimator 作為 ValueAnimator 的子類可以自動地為目標對象的命名屬性設置動畫,但是對目標對象有嚴格的要求: 目標對象必須有對應屬性的 setter 方法,如果在工廠方法中只提供了一個動畫值那么它會作為終止值,起始值為目標對象的當前值,此時為了獲取當前屬性值目標對象必須有對應屬性的 getter 方法。有些屬性的更改不會導致 view 重新渲染,此時需要主動調用 invalidate() 方法強制觸發重繪


4. AnimatorListenerAdapter 提供了 Animator.AnimatorListener 接口的空實現


5. 多數情況下可以直接使用系統提供的幾個動畫 duration,如 getResources().getInteger(android.R.integer.config_shortAnimTime)


6. 可以調用任意 view 對象的 animate() 方法獲取 ViewPropertyAnimator 對象,鏈式調用這個對象的 scaleX()、alpha() 等方法可以簡單方便地同時對 view 的多個屬性做動畫


7. 為了更好地重用和管理屬性動畫,最好使用 XML 文件來描述動畫并放到 res/animator/ 目錄下,ValueAnimator 對應 <animator> ,ObjectAnimator 對應 <objectAnimator>,AnimatorSet 對應 <set>,使用 AnimatorInflater.loadAnimator() 可以加載這些動畫


8. 動態 Drawable 的實現有兩種,最傳統最簡單的就是像電影關鍵幀一樣依次指定關鍵幀和每一幀的停留時間,AnimationDrawable 對應于 XML 文件中的 <animation-list>,保存目錄為 res/drawable/,AnimationDrawable 的 start() 方法可以在 onStart() 中調用。還有一種是 AnimatedVectorDrawable,需要 res/drawable/ 中的 <animated-vector> 引用 res/drawable/ 中的 <vector> 對其使用 res/animator/ 中的 <objectAnimator> 動畫


9. 突然更改顯示的內容會讓視覺感受非常突兀不和諧,而且可能意識不到哪些內容突然變了,所以很多場景下需要使用動畫過渡一下,而不是突然更改顯示的內容


10. 顯示隱藏 view 的常用動畫有三個: crossfade 動畫,card flip 動畫,circular reveal 動畫


11. crossfade 動畫就是內容淡出另一個內容淡入交叉進行,也被稱為溶入動畫。實現方式為: 事先將淡入 view 的 visibility 設置為 GONE → 開始動畫時將淡入 view 的 alpha 設置為 0,visibility 設置為 VISIBLE → 將淡入 view 的 alpha 動畫到 1,將淡出 view 的 alpha 動畫到 0 并在動畫結束時將淡出 view 的 visibility 設置為 GONE


12. card flip 動畫就是卡片翻轉動畫,需要四個動畫描述: card_flip_right_in、card_flip_right_out、card_flip_left_in、card_flip_left_out


13. Android 5.0 (API level 21) 開始支持 circular reveal 圓形裁剪動畫,實現方式為: 事先將 view 的 visibility 設置為 INVISIBLE → 利用 ViewAnimationUtils.createCircularReveal() 方法創建半徑從 0 到 Math.hypot(cx, cy) 的圓形裁剪動畫 → 將 view 的 visibility 設置為 VISIBLE 然后開啟動畫


14. 直線動畫移動 view 只需要借助 ObjectAnimator.ofFloat() 方法動畫設置 view 的 translationX 或 translationY 屬性即可


15. 曲線動畫移動 view 還需要借助 Android 5.0 (API level 21) 開始提供的 PathInterpolator 插值器(對應于 XML 文件中的 <pathInterpolator>),他需要個 Path 對象描述運動的貝塞爾曲線。可以使用 ObjectAnimator.ofFloat(view, "translationX", 100f) 同時設置 PathInterpolator 也可以直接設置 view 動畫路徑 ObjectAnimator.ofFloat(view, View.X, View.Y, path)。系統提供的 fast_out_linear_in.xml、fast_out_slow_in.xml、linear_out_slow_in.xml 三個基礎的曲線插值器可以直接使用


16. 放大預覽動畫只需要同時動畫更改目標 view 的 X,Y,SCALE_X,SCALE_Y 屬性即可,不過要先計算好兩個 view 最終的位置和初始縮放比


17. Android 提供了預加載的布局改變動畫,可以通過 android:animateLayoutChanges="true" 屬性告訴系統開啟默認動畫,或者通過 LayoutTransition API 設置


18. Activity 內部的布局過渡動畫: 過渡動畫框架可以在開始 Scene 和結束 Scene 開始過渡動畫,Scene 存儲著 view hierarchy 狀態,包括所有 view 和其屬性值,開始 Scene 可以通過 setExitAction() 定義過渡動畫開始前要執行的操作,結束 Scene 可以通過 Scene.setEnterAction() 定義過渡動畫完成后要執行的操作。


如果 view hierarchy 是靜態不變的,可以通過布局文件描述和加載 Scene.getSceneForLayout(mSceneRoot, R.layout.a_scene, this),否則可以手動創建 new Scene(mSceneRoot, mViewHierarchy)。Transition 的內置子類包括 AutoTransition、Fade、ChangeBounds,可以在 res/transition/ 目錄下定義內置的 <fade xmlns:android="http://schemas.android.com/apk/res/android" />,多個組合包裹在 <transitionSet> 標簽中,然后使用 TransitionInflater.from(this).inflateTransition(R.transition.fade_transition) 加載。


還可以手動創建 new Fade()。開始過渡動畫時只需要執行 TransitionManager.go(mEndingScene, mFadeTransition) 即可。默認是對 Scene 中所有的 view 作動畫,可以通過 addTarget() 或 removeTarget() 在開始過渡動畫前進行調整。如果不想在兩個 view hierarchy 間進行過渡,而是在同一個 view hierarchy 狀態更改后執行過渡動畫,那就不需要使用 Scene 了,先利用 TransitionManager.beginDelayedTransition(mRootView, mFade) 讓系統記錄 view 的更改,然后增刪 view 來更改 view hierarchy 的狀態,系統會在重繪 UI 時執行延遲過渡動畫。


由于 SurfaceView 由非 UI 線程更新,所以它的過渡可能有問題,TextureView 在一些過渡類型上可能有問題,AdapterView 與過渡動畫框架不兼容,TextView 的大小過渡動畫可能有問題


19. Activity 之間的過渡動畫: 需要 Android 5.0 (API level 21) ,內置的進入退出過渡動畫包括: explode 從中央進入或退出,slide 從一邊進入或退出,fade 透明度漸變進入或退出。


內置的共享元素過渡動畫包括: changeBounds 動態更改目標 view 的邊界,changeClipBounds 動態裁剪目標 view 的邊界,changeTransform 動態更改目標 view 的縮放和旋轉,changeImageTransform 動態更改目標 view 的縮放和尺寸。


過渡動畫需要兩個 Activity 都要開啟 window 的內容過渡: android:windowActivityTransitions 屬性設置為 true 或者代碼中手動 getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS) 開啟。setExitTransition() 和 setSharedElementExitTransition() 方法可以為起始 Activity 設置退出過渡動畫,setEnterTransition() 和 setSharedElementEnterTransition() 方法可以為目標 Activity 設置進入過渡動畫。


激活目標 Activity 的時候需要攜帶 ActivityOptions.makeSceneTransitionAnimation(this).toBundle() 的 Bundle,返回的時候要使用 finishAfterTransition() 方法。共享元素需要使用 android:transitionName 屬性或者 View.setTransitionName() 方法指定名字,多個共享元素使用 Pair.create(view1, "agreedName1") 傳遞信息


20. 自定義過渡動畫需要繼承 Transition,實現 captureStartValues() 和 captureEndValues() 方法捕獲過渡的 view 屬性值并告訴過渡框架,具體實現為通過 transitionValues.view 檢索當前 view,通過 transitionValues.values.put(PROPNAME_BACKGROUND, view.getBackground()) 存儲屬性值,為了避免沖突 key 的格式必須為 package_name:transition_name:property_name。


同時還要實現 createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) 方法,框架調用這個方法的次數取決于開始和結束 scene 需要更改的元素數


21. 動畫可能會影響性能,必要時可以啟用 Profile GPU Rendering 進行調試


6、BroadcastReceiver 相關


1. Android 9 (API level 28) 開始 NETWORK_STATE_CHANGED_ACTION 廣播不再包含 SSID,BSSID 等信息


2. Android 8.0 (API level 26) 開始限制應用靜態注冊一些非當前應用專屬的隱式廣播的 BroadcastReceiver,免除這項限制的廣播包括 ACTION_LOCKED_BOOT_COMPLETED 等不太可能影響用戶體驗的廣播


3. Android 7.0 (API level 24) 開始不能發送和接收 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 系統廣播,可以通過 JobInfo 和 JobParameters 完成。不能靜態注冊 CONNECTIVITY_ACTION 廣播,如果想在網絡變化時調度任務可以選擇使用 WorkManager,如果只在應用運行期間監聽網絡變化使用 ConnectivityManager 比動態注冊注銷 BroadcastReceiver 更優雅


4. 應該盡量在代碼中動態注冊注銷 BroadcastReceiver


5. onReceive() 方法中不能進行復雜工作否則會導致 ANR,onReceive() 方法一旦執行完,系統可能就認為這個廣播接收器已經沒用了,隨時會殺掉包含這個廣播接收器的進程,包括這個進程啟動的線程。使用 goAsync() 方法可以在 PendingResult#finish() 方法執行前為廣播接收器的存活爭取更多的時間,但最好還是使用 JobScheduler 等方式進行長時間處理工作


6. 使用 sendBroadcast() 方法發的廣播屬于常規廣播,所有能接收這個廣播的廣播接收器接收到廣播的順序是不可控的


7. 使用 sendOrderedBroadcast() 方法發的廣播屬于有序廣播,根據廣播接收器的優先級一個接一個地傳遞這條廣播,相同優先級的順序不可控,廣播接收器可以選擇繼續傳遞給下一個,也可以選擇直接丟掉


8. 使用 LocalBroadcastManager.getInstance(this).sendBroadcast() 方法發的廣播屬于應用進程內的本地廣播,這樣的廣播只有應用自己知道,比系統級的全局廣播更安全更有效率


9. 為了保證廣播的 action 全局唯一,action 的名字最好使用應用的包名作為前綴,最好聲明成靜態字符串常量.


7、數據存儲與共享


分享文件


為了安全地共享文件,分享的文件必須通過 content URI 表示,必須授予這個 content URI 臨時訪問權限。FileProvider 作為 ContentProvider 的特殊子類,它的 getUriForFile() 靜態方法可以為文件生成 content URI。


<provider????android:name="android.support.v4.content.FileProvider"????android:authorities="com.example.myapp.fileprovider"????android:grantUriPermissions="true"????android:exported="false">????<meta-data????????android:name="android.support.FILE_PROVIDER_PATHS"????????android:resource="@xml/filepaths"?/></provider>
????<meta-data
????????android:name="android.support.FILE_PROVIDER_PATHS"
????????android:resource="@xml/filepaths"?/>

</provider>


<paths>????<files-path?path="images/"?name="myimages"?/></paths>
????<files-path?path="images/"?name="myimages"?/>
</paths>

android:authorities 屬性一般是以當前應用包名為前綴的字符串,用來標志數據的所有者,多個的話用分號隔開


  • <files-path/> 代表 getFilesDir()

  • <cache-path/> 代表 getCacheDir()

  • <external-path/> 代表 Environment.getExternalStorageDirectory()

  • <external-files-path> 代表 getExternalFilesDir(null)

  • <external-cache-path> 代表 getExternalCacheDir()

  • <external-media-path> 代表 getExternalMediaDirs()


  • File?imagePath?=?new?File(getFilesDir(),?"images");File?newFile?=?new?File(imagePath,?"default_image.jpg");Uri?contentUri?=?FileProvider.getUriForFile(getContext(),?"com.example.myapp.fileprovider",?newFile);"images");
    File?newFile?=?new?File(imagePath,?"default_image.jpg");
    Uri?contentUri?=?FileProvider.getUriForFile(getContext(),?"com.example.myapp.fileprovider",?newFile);


    1. 給 Intent 添加 FLAG_GRANT_READ_URI_PERMISSION 或 FLAG_GRANT_WRITE_URI_PERMISSION 的 flag 授予對這個 content URI 的臨時訪問權限,該權限會被目標 Activity 所在應用的其它組件繼承,會在所在的任務結束時自動撤銷授權


    2. 調用 Context.grantUriPermission(package, Uri, mode_flags) 方法也可以授予 FLAG_GRANT_READ_URI_PERMISSION 或 FLAG_GRANT_WRITE_URI_PERMISSION 權限,但只有在主動調用 revokeUriPermission() 方法后或者重啟系統后才會撤銷授權


    List<ResolveInfo>?activities?=?getPackageManager().queryIntentActivities(intent,????????PackageManager.MATCH_DEFAULT_ONLY);if?(activities.size()?>?0)?{????for?(ResolveInfo?resolveInfo?:?activities)?{????????grantUriPermission(resolveInfo.activityInfo.packageName,????????????????outputUri,?Intent.FLAG_GRANT_WRITE_URI_PERMISSION);????}}...revokeUriPermission(outputUri,?Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    ????????PackageManager.MATCH_DEFAULT_ONLY);
    if?(activities.size()?>?0)?{
    ????for?(ResolveInfo?resolveInfo?:?activities)?{
    ????????grantUriPermission(resolveInfo.activityInfo.packageName,
    ????????????????outputUri,?Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    ????}
    }
    ...
    revokeUriPermission(outputUri,?Intent.FLAG_GRANT_WRITE_URI_PERMISSION);


    ContentProvider


    1. ContentProvider 的數據形式和關系型數據庫的表格數據類似,因此 API 也像數據庫一樣包含增刪改查(CRUD)操作,但為了更好地組織管理一個或多個 ContentProvider,最好通過 ContentResolver 操作 ContentProvider


    2. 對于 ContentProvider 的增刪改查操作,不能直接在 UI 線程上執行


    3. Uri 和 ContentUris 類的靜態方法可以方便地構造 content URI


    SELECT?_ID,?word,?locale?FROM?words?WHERE?word?=?<userinput>?ORDER?BY?word?ASC;mCursor?=?getContentResolver().query(????????UserDictionary.Words.CONTENT_URI,????????mProjection,????????mSelectionClause,????????mSelectionArgs,????????mSortOrder);FROM?words?WHERE?word?=?<userinput>?ORDER?BY?word?ASC;

    mCursor?=?getContentResolver().query(
    ????????UserDictionary.Words.CONTENT_URI,
    ????????mProjection,
    ????????mSelectionClause,
    ????????mSelectionArgs,
    ????????mSortOrder);


    3. 為了防止 SQL 注入,禁止拼接 SQL 語句,如 mSelectionClause 不能直接包含 selectionArgs 參數值


    4. ContentProvider 所在應用本身的組件可以隨便訪問它,不需要授權


    5. 如果 ContentProvider 的應用不指定任何權限,那么其它應用就無法訪問這個 ContentProvider 的數據


    6. 使用者需要事先通過 <uses-permission> 標簽獲取訪問權限


    7. 創建 ContentProvider 需要繼承 ContentProvider 并實現增刪改查等一系列方法: onCreate() 在系統創建 provider 后馬上調用,可以在這里創建數據庫,但不要在這里做耗時操作。getType() 返回 content URI 的 MIME 類型。query()、insert()、update()、delete() 進行增刪改查。除了 onCreate() 方法其它方法必須要保證是線程安全的。


    8、Notification 相關


    1. Android 5.0 (API level 21) 開始通知可以出現在鎖屏頁面


    2. Android 7.0 (API level 24) 開始可以在通知中直接輸入文本或執行一些自定義操作,如直接回復按鈕


    3. Android 8.0 (API level 26) 開始所有的通知必須屬于一個 channel,channel 被用戶看作是 categories,即通知類別,用戶通過通知類別來精確管理各個應用或一個應用內的通知。


    一個應用可以有多個通知類別,如私信類別、好友請求類別、應用更新類別等等。可以給每個通知類別指定通知的 importance,即重要程度,Urgent(緊急)會發出提示音并在屏幕上彈出通知,High(高)會發出提示音,Medium(中)不發出提示音,Low(低)不發出提示音并且不會出現在狀態欄中。


    在 Android 8.0 (API level 26) 以下的系統中通知的重要程度表現為 priority,即優先級。


    對應關系分別為: IMPORTANCE_HIGH 對應 PRIORITY_HIGH 或 PRIORITY_MAX,IMPORTANCE_DEFAULT 對應 PRIORITY_DEFAULT,IMPORTANCE_LOW 對應 PRIORITY_LOW,IMPORTANCE_MIN 對應 PRIORITY_MIN。在應用啟動時可以執行下面的代碼創建通知類別,可以無副作用地多次執行


    private?void?createNotificationChannel()?{????if?(Build.VERSION.SDK_INT?>=?Build.VERSION_CODES.O)?{????????CharSequence?name?=?getString(R.string.channel_name);????????String?description?=?getString(R.string.channel_description);????????int?importance?=?NotificationManager.IMPORTANCE_DEFAULT;????????NotificationChannel?channel?=?new?NotificationChannel(CHANNEL_ID,?name,?importance);????????channel.setDescription(description);????????NotificationManager?notificationManager?=?getSystemService(NotificationManager.class);????????notificationManager.createNotificationChannel(channel);????}}
    ????if?(Build.VERSION.SDK_INT?>=?Build.VERSION_CODES.O)?{
    ????????CharSequence?name?=?getString(R.string.channel_name);
    ????????String?description?=?getString(R.string.channel_description);
    ????????int?importance?=?NotificationManager.IMPORTANCE_DEFAULT;
    ????????NotificationChannel?channel?=?new?NotificationChannel(CHANNEL_ID,?name,?importance);
    ????????channel.setDescription(description);
    ????????NotificationManager?notificationManager?=?getSystemService(NotificationManager.class);
    ????????notificationManager.createNotificationChannel(channel);
    ????}
    }


    4. 通過 NotificationChannel 的 enableLights(),setLightColor() 等方法可以指定該通知類別默認的通知行為,但是一旦創建了應用就不能再對它做任何更改了,只有用戶自己可以更改設置。可以通過 Intent 引導用戶跳轉至對應設置頁


    Intent?intent?=?new?Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);intent.putExtra(Settings.EXTRA_APP_PACKAGE,?getPackageName());intent.putExtra(Settings.EXTRA_CHANNEL_ID,?myNotificationChannel.getId());startActivity(intent);
    intent.putExtra(Settings.EXTRA_APP_PACKAGE,?getPackageName());
    intent.putExtra(Settings.EXTRA_CHANNEL_ID,?myNotificationChannel.getId());
    startActivity(intent);


    5. 查詢用戶當前的通知類別的設置可以通過 getNotificationChannel()、getNotificationChannels()、getVibrationPattern()、getImportance() 等方法獲取


    6. 使用 deleteNotificationChannel(id) 可以刪除通知類別,但是在開發模式下可能需要重裝應用或者清除數據才會完全刪除


    7. 通知類別也可以分組


    //?The?id?of?the?group.String?groupId?=?"my_group_01";//?The?user-visible?name?of?the?group.CharSequence?groupName?=?getString(R.string.group_name);NotificationManager?mNotificationManager?=????????(NotificationManager)?getSystemService(Context.NOTIFICATION_SERVICE);mNotificationManager.createNotificationChannelGroup(new?NotificationChannelGroup(groupId,?groupName));
    String?groupId?=?"my_group_01";
    //?The?user-visible?name?of?the?group.
    CharSequence?groupName?=?getString(R.string.group_name);
    NotificationManager?mNotificationManager?=
    ????????(NotificationManager)?getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.createNotificationChannelGroup(new?NotificationChannelGroup(groupId,?groupName));


    8. Android 5.0 (API level 21) 開始支持勿擾模式(Do Not Disturb)以禁止任何通知產生的聲音和震動。Total silence(完全阻止)會阻止包括鬧鐘視頻游戲在內的所有聲音和震動,Alarms only(僅限鬧鐘)會阻止除了鬧鐘外的所有聲音和震動,Priority only(自訂)可以定制要屏蔽的信息通話等系統范圍內的通知。setCategory() 方法可以設置所屬的系統范圍的勿擾類別


    9. 每個通知類別可以選擇是否覆蓋勿擾模式的設置,當勿擾模式設置為“僅限優先事項”時,可以允許繼續接收此類通知


    10. Android 8.1 (API level 27) 開始每秒最多播放一次通知提示音,如果一秒內有多個通知那么只播放一秒內的第一個通知提示音,如果一秒內多次頻繁更新一個通知,那么系統可能會丟棄一些通知更新


    11. 最好使用 NotificationCompat 和 NotificationManagerCompat 等兼容庫中的類以便方便地適配低版本系統


    12. setSmallIcon() 方法可以設置小圖標,應用名和時間是由系統設置的,setLargeIcon() 方法可以設置右邊大圖標,setContentTitle() 和 setContentText() 方法可以設置通知的標題和內容,setPriority() 方法可以為 Android 8.0 (API level 26) 以下的系統設置通知優先級。系統范圍的預定義通知類別包括 NotificationCompat.CATEGORY_ALARM,NotificationCompat.CATEGORY_REMINDER 等類別,這個類別在勿擾模式中有用,可以通過 setCategory() 方法指定所屬的系統范圍通知類別


    13. 默認的通知內容會收縮成一行,可以通過 setStyle() 方法設置其他可展開的通知樣式,


    .setStyle(new?NotificationCompat.BigTextStyle().bigText(emailObject.getSubjectAndSnippet()))?new?NotificationCompat.BigTextStyle().bigText(emailObject.getSubjectAndSnippet()))?


    可以設置大文本塊樣式。


    .setStyle(new?NotificationCompat.InboxStyle().addLine(messageSnippet1)?new?NotificationCompat.InboxStyle().addLine(messageSnippet1)?


    可以設置多行的 inbox 樣式。


    .setStyle(new?NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)).addMessage(message1))?new?NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)).addMessage(message1))?


    可以設置消息樣式,但是此樣式會忽略 setContentTitle() 和 setContentText() 方法的設置,但可以通過 setConversationTitle() 方法設置該聊天所屬的群組名。


    setStyle(new?android.support.v4.media.app.Notification.MediaStyle().setShowActionsInCompactView(1).setMediaSession(mMediaSession.getSessionToken()))?new?android.support.v4.media.app.Notification.MediaStyle().setShowActionsInCompactView(1).setMediaSession(mMediaSession.getSessionToken()))?


    可以設置媒體樣式的通知,屬于 CATEGORY_TRANSPORT 類別。



    14. 通知的點擊事件可以通過 setContentIntent() 方法設置 PendingIntent 對象完成,setAutoCancel(true) 可以在點擊后自動移除通知


    Intent?intent?=?new?Intent(this,?AlertDetails.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK?|?Intent.FLAG_ACTIVITY_CLEAR_TASK);PendingIntent?pendingIntent?=?PendingIntent.getActivity(this,?0,?intent,?0);NotificationCompat.Builder?mBuilder?=?new?NotificationCompat.Builder(this,?CHANNEL_ID)????????.setSmallIcon(R.drawable.notification_icon)????????.setContentTitle("My?notification")????????.setContentText("Hello?World!")????????.setLargeIcon(myBitmap)????????.setStyle(new?NotificationCompat.BigPictureStyle()????????????????.bigPicture(myBitmap)????????????????.bigLargeIcon(null))????????.setPriority(NotificationCompat.PRIORITY_DEFAULT)????????.setContentIntent(pendingIntent)????????.setAutoCancel(true);this,?AlertDetails.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK?|?Intent.FLAG_ACTIVITY_CLEAR_TASK);
    PendingIntent?pendingIntent?=?PendingIntent.getActivity(this,?0,?intent,?0);
    NotificationCompat.Builder?mBuilder?=?new?NotificationCompat.Builder(this,?CHANNEL_ID)
    ????????.setSmallIcon(R.drawable.notification_icon)
    ????????.setContentTitle("My?notification")
    ????????.setContentText("Hello?World!")
    ????????.setLargeIcon(myBitmap)
    ????????.setStyle(new?NotificationCompat.BigPictureStyle()
    ????????????????.bigPicture(myBitmap)
    ????????????????.bigLargeIcon(null))
    ????????.setPriority(NotificationCompat.PRIORITY_DEFAULT)
    ????????.setContentIntent(pendingIntent)
    ????????.setAutoCancel(true);


    15. 通過 NotificationManagerCompat#notify() 方法可以顯示通知,你需要定義一個唯一的 int 值的 ID 作為這個通知的 ID,保存這個 ID 以便之后更新或移除這個通知:


    NotificationManagerCompat?notificationManager?=?NotificationManagerCompat.from(this);notificationManager.notify(notificationId,?mBuilder.build());this);
    notificationManager.notify(notificationId,?mBuilder.build());


    16. setVisibility() 方法可以設置鎖屏時的通知顯示策略,VISIBILITY_PUBLIC(顯示所有通知)表示完整地顯示通知內容,VISIBILITY_SECRET(完全不顯示內容)表示不顯示通知的任何信息,VISIBILITY_PRIVATE(隱藏敏感通知內容)表示只顯示圖標標題等基本信息


    17. NotificationManagerCompat#notify() 方法傳遞之前的通知 ID 可以更新之前的通知,調用 setOnlyAlertOnce() 方法以便只在第一次出現通知時提示用戶


    18. 用戶可以主動清除通知,創建通知時調用 setAutoCancel() 方法可以在用戶點擊通知后清除通知,創建通知時調用 setTimeoutAfter() 方法可以在超時后由系統自動清除通知,可以隨時調用 cancel() 或 cancelAll() 方法清除之前的通知


    19. 點擊通知后啟動的 Activity 分為兩種,一種是應用的正常用戶體驗流中的常規 Activity,擁有任務完整的返回棧。還有一種是僅僅用來展示通知的詳細內容的特殊Activity,它不需要返回棧。


    對于常規 Activity 需要先通過 android:parentActivityName 屬性或者 android.support.PARENT_ACTIVITY 的 <meta-data> 標簽指定層級關系,然后:


    Intent?resultIntent?=?new?Intent(this,?ResultActivity.class);TaskStackBuilder?stackBuilder?=?TaskStackBuilder.create(this);stackBuilder.addNextIntentWithParentStack(resultIntent);PendingIntent?resultPendingIntent?=????????stackBuilder.getPendingIntent(0,?PendingIntent.FLAG_UPDATE_CURRENT);class);
    TaskStackBuilder?stackBuilder?=?TaskStackBuilder.create(this);
    stackBuilder.addNextIntentWithParentStack(resultIntent);
    PendingIntent?resultPendingIntent?=
    ????????stackBuilder.getPendingIntent(0,?PendingIntent.FLAG_UPDATE_CURRENT);


    對于特殊 Activity 需要先指定 android:taskAffinity="" 和 android:excludeFromRecents="true" 以避免在之前的任務中啟動,然后:


    Intent?notifyIntent?=?new?Intent(this,?ResultActivity.class);notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK?|?Intent.FLAG_ACTIVITY_CLEAR_TASK);PendingIntent?notifyPendingIntent?=?PendingIntent.getActivity(????????this,?0,?notifyIntent,?PendingIntent.FLAG_UPDATE_CURRENT);class);
    notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK?|?Intent.FLAG_ACTIVITY_CLEAR_TASK);
    PendingIntent?notifyPendingIntent?=?PendingIntent.getActivity(
    ????????this,?0,?notifyIntent,?PendingIntent.FLAG_UPDATE_CURRENT
    );

    9、后臺任務


    1. 每個進程都有一個主線程用來完成任務,一般主線程結束了那么意味著整個任務完成了,進程就會自動結束退出了


    2. Android 應用的主線程用來進行測量繪制 UI、協調用戶操作、接收生命周期事件等工作,是與用戶的感知直接關聯的,所以通常也被叫做 UI 線程,如果在這個線程中做太多工作,那么會導致這個線程掛起或者卡頓,導致糟糕的用戶體驗。所以像解碼 bitmap、讀寫磁盤、執行網絡請求等需要長時間計算和處理的操作都應該放到單獨的后臺線程中去做


    3. 后臺線程雖然是用戶感覺不到的,但通常卻是最消耗系統資源的,有的線程大部分時間都在占用 CPU 完成復雜的計算,我們管這種稱為 CPU 密集型操作,有的線程大部分時間都在進行 I/O 的讀寫操作,我們管這種叫做 I/O 密集型操作。我們可以根據不同的操作類型選擇不同的策略來處理以便最大化系統的吞吐量同時最小化所需代價。同時長時間運行的后臺線程也加劇了電量的消耗,所以不管是操作系統還是開發者都需要 對這些后臺線程的行為進行限制


    4. 在創建一個后臺任務之前,我們需要先要對它分析一下,它是要馬上執行還是可以延遲執行?它需要系統滿足指定條件才能執行嗎?它需要在精確的時間點執行嗎?


    WorkManager


    1. 通過 WorkManager 可以優雅地執行 可延遲執行的 異步任務,當應用退出后仍然可以繼續執行,當滿足系統條件(聯網、充電、重啟)時仍然可以觸發任務的執行


    2. 特別適合用來向后臺發送日志或分析數據,或者用來周期性的與服務器同步數據


    3. WorkManager 在 Android 6.0 (API level 23) 及以上系統上借助 JobScheduler 實現,在之前的系統上借助 BroadcastReceiver 和 AlarmManager 實現


    4. WorkManager 可以對任務添加網絡條件和充電狀態等條件限制,可以調度一次性的或周期性的任務,可以監聽和管理被調度的任務,可以將多個任務連在一起


    5. 一次性的任務可以使用 OneTimeWorkRequest,周期性的任務使用 PeriodicTimeWorkRequest


    6. 如果指定了多個限制,那么只有在所有限制都滿足的情況下任務才會執行:


    Constraints?constraints?=?new?Constraints.Builder()????.setRequiresDeviceIdle(true)????.setRequiresCharging(true)?????.build();OneTimeWorkRequest?compressionWork?=????????????????new?OneTimeWorkRequest.Builder(CompressWorker.class)?????.setConstraints(constraints)?????.build();
    ????.setRequiresDeviceIdle(true)
    ????.setRequiresCharging(true)
    ?????.build();
    OneTimeWorkRequest?compressionWork?=
    ????????????????new?OneTimeWorkRequest.Builder(CompressWorker.class)
    ?????.setConstraints(constraints)
    ?????.build();


    7. 任務交給系統后可能會馬上被執行,可以通過 setInitialDelay(10, TimeUnit.MINUTES) 設置一個最小延時


    8. 如果需要重試任務可以在 Worker 中使用 Result.retry() 完成,采用的補償策略默認是 EXPONENTIAL 指數級的,可以使用 setBackoffCriteria() 方法調整策略


    9. 可以通過 setInputData() 方法為任務設置輸入數據,在 Worker 中可以通過 getInputData() 方法獲取到輸入數據,Result.success() 和 Result.failure() 可以攜帶輸出數據。數據應該盡可能的簡單,不能超過 10KB


    10. addTag 方法可以給任務打 Tag,然后就可以使用 WorkManager.cancelAllWorkByTag(String) 和 WorkManager.getWorkInfosByTagLiveData(String) 等方法方便操作任務了


    11. 如果一個任務的先決任務沒有完成那么會被認為是 BLOCKED 態


    12. 如果任務的限制和定時滿足要求那么會被認為是 ENQUEUED 態


    13. 如果任務正在執行那么會被認為是 RUNNING 態


    14. 如果任務返回了 Result.success() 那么會被認為是 SUCCEEDED 態,這是最終態,只有 OneTimeWorkRequest 可能進入這個狀態


    15. 如果任務返回了 Result.failure() 那么會被認為是 FAILED 態,這是最終態,只有 OneTimeWorkRequest 可能進入這個狀態,所有相關的任務也會被標記為 FAILED 且不會被執行


    16. 顯式取消一個沒終止的 WorkRequest 會被認為是 CANCELLED 態,所有相關的任務也會被標記為 CANCELLED 且不會被執行


    17. WorkManager.getWorkInfoById(UUID) 和 WorkManager.getWorkInfoByIdLiveData(UUID) 等方法可以定位想要的任務進行觀察


    18. 可以將任務連在一起:


    WorkManager.getInstance()????.beginWith(Arrays.asList(filter1,?filter2,?filter3))????.then(compress)????.then(upload)????.enqueue();.getInstance()
    ????.beginWith(Arrays.asList(filter1,?filter2,?filter3))
    ????.then(compress)
    ????.then(upload)
    ????.enqueue();


    Foreground service


    對于用戶觸發的必須馬上執行且必須執行完的后臺任務,需要使用 Foreground services 實現,它既告訴系統這個應用正在執行重要的任務不能被殺掉,又通過通知欄告訴用戶有后臺工作正在執行.


    AlarmManager


    如果任務需要在精確的時間點執行,可以使用 AlarmManager


    DownloadManager


    如果需要執行一個長時間的 HTTP 下載任務,可以使用 DownloadManager。


    DownloadManager 獨立于應用之外,可以在下載失敗、更改網絡連接、系統重啟后進行重試


    public?static?long?downloadApk(String?url,?String?title,?String?desc)?{????DownloadManager.Request?request?=?new?DownloadManager.Request(Uri.parse(url));????request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE?|?DownloadManager.Request.NETWORK_WIFI)????????????.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)????????????.setTitle(title)????????????.setDescription(desc)????????????.setDestinationInExternalFilesDir(MyApplication.getInstance(),?null,?"apks")????????????.allowScanningByMediaScanner();????DownloadManager?downloadManager?=?(DownloadManager)?MyApplication.getInstance().getSystemService(Context.DOWNLOAD_SERVICE);????return?downloadManager.enqueue(request);}String?url,?String?title,?String?desc)?{
    ????DownloadManager.Request?request?=?new?DownloadManager.Request(Uri.parse(url));
    ????request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE?|?DownloadManager.Request.NETWORK_WIFI)
    ????????????.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
    ????????????.setTitle(title)
    ????????????.setDescription(desc)
    ????????????.setDestinationInExternalFilesDir(MyApplication.getInstance(),?null,?"apks")
    ????????????.allowScanningByMediaScanner();
    ????DownloadManager?downloadManager?=?(DownloadManager)?MyApplication.getInstance().getSystemService(Context.DOWNLOAD_SERVICE);
    ????return?downloadManager.enqueue(request);
    }

    更多學習和討論,歡迎加入我們的知識星球,這里有1000+小伙伴,讓你的學習不寂寞~·

    看完本文有收獲?請轉發分享給更多人


    我們的知識星球第三期開期了,已達到1100人了,能連續做三期已很不容易了,有很多老用戶續期,目前續期率達到50%,說明了大家對我們的知識星球還是很認可的,歡迎大家加入盡早我們的知識星球,更多星球信息參見:

    歡迎加入Java和Android架構社群

    如何進階成為Java的Android版和架構師?

    說兩件事

    微信掃描或者點擊上方二維碼領取的Android \ Python的\ AI \的Java等高級進階資源

    更多學習資料點擊下面的“閱讀原文?”獲取

    謝謝老板,點個好看↓

    總結

    以上是生活随笔為你收集整理的带你梳理一遍 Android 核心知识的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产成人一区二区三区在线观看 | 国产成人精品一区二区在线小狼 | 老子影院午夜精品无码 | 丰满护士巨好爽好大乳 | 国产真实乱对白精彩久久 | 无码国产激情在线观看 | 免费播放一区二区三区 | 国产精品香蕉在线观看 | 婷婷五月综合激情中文字幕 | 无码纯肉视频在线观看 | 欧洲精品码一区二区三区免费看 | 88国产精品欧美一区二区三区 | √天堂资源地址中文在线 | 99re在线播放 | 在线精品亚洲一区二区 | 天堂亚洲2017在线观看 | 国精品人妻无码一区二区三区蜜柚 | 少妇人妻av毛片在线看 | 国产又爽又黄又刺激的视频 | 成在人线av无码免观看麻豆 | 国产黄在线观看免费观看不卡 | av无码久久久久不卡免费网站 | 无人区乱码一区二区三区 | 成人精品天堂一区二区三区 | 无码免费一区二区三区 | 国产精品久免费的黄网站 | 亚洲中文字幕无码中字 | 国产性生交xxxxx无码 | 2020久久超碰国产精品最新 | 骚片av蜜桃精品一区 | 97夜夜澡人人爽人人喊中国片 | 久久综合狠狠综合久久综合88 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 少妇久久久久久人妻无码 | 亚洲成a人片在线观看无码3d | 国产精品办公室沙发 | 久久无码人妻影院 | 婷婷五月综合激情中文字幕 | 欧美日韩人成综合在线播放 | 欧美精品无码一区二区三区 | 九九在线中文字幕无码 | 永久免费观看美女裸体的网站 | 国产精品久久久久影院嫩草 | 成人免费视频视频在线观看 免费 | 亚洲国产av美女网站 | 丰满人妻一区二区三区免费视频 | 四虎国产精品免费久久 | 日本丰满熟妇videos | 久久伊人色av天堂九九小黄鸭 | 国产精品va在线播放 | 亚洲色大成网站www | 国产农村乱对白刺激视频 | www成人国产高清内射 | 久久久久人妻一区精品色欧美 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 中文字幕久久久久人妻 | 免费无码肉片在线观看 | 亚洲中文字幕无码一久久区 | 激情亚洲一区国产精品 | 中文字幕无码热在线视频 | 国产黑色丝袜在线播放 | 精品久久久无码中文字幕 | 亚洲人成人无码网www国产 | 欧美性生交xxxxx久久久 | 欧美高清在线精品一区 | 中文字幕 亚洲精品 第1页 | 亚洲精品国产第一综合99久久 | 国产亚洲精品久久久久久大师 | 欧美一区二区三区视频在线观看 | 风流少妇按摩来高潮 | 欧美人妻一区二区三区 | 国产免费无码一区二区视频 | 国产性生交xxxxx无码 | 双乳奶水饱满少妇呻吟 | 人妻有码中文字幕在线 | 一本久道久久综合婷婷五月 | 正在播放老肥熟妇露脸 | 中文字幕av日韩精品一区二区 | aa片在线观看视频在线播放 | 国产内射老熟女aaaa | 久精品国产欧美亚洲色aⅴ大片 | 国产在线无码精品电影网 | 亚洲国产精品无码一区二区三区 | 2019nv天堂香蕉在线观看 | 免费人成在线视频无码 | 国产深夜福利视频在线 | 亚洲s码欧洲m码国产av | 又大又黄又粗又爽的免费视频 | 亚洲精品国产第一综合99久久 | 无码av岛国片在线播放 | 亚洲区欧美区综合区自拍区 | 日本大乳高潮视频在线观看 | 婷婷六月久久综合丁香 | 国产无套内射久久久国产 | 人妻少妇被猛烈进入中文字幕 | 国产激情无码一区二区 | 国产内射爽爽大片视频社区在线 | 国产超级va在线观看视频 | 四虎影视成人永久免费观看视频 | 宝宝好涨水快流出来免费视频 | 亚洲精品久久久久久一区二区 | 兔费看少妇性l交大片免费 | 色综合天天综合狠狠爱 | 一个人免费观看的www视频 | 久久久无码中文字幕久... | 免费无码的av片在线观看 | 亚洲精品国产第一综合99久久 | 国产精品va在线观看无码 | 国产精品理论片在线观看 | 99久久99久久免费精品蜜桃 | 久久精品中文字幕大胸 | 中文精品无码中文字幕无码专区 | 久9re热视频这里只有精品 | 国产色精品久久人妻 | 久久精品人人做人人综合试看 | 久在线观看福利视频 | 国产又爽又猛又粗的视频a片 | 国产人妻大战黑人第1集 | 国产成人精品久久亚洲高清不卡 | 97色伦图片97综合影院 | 在教室伦流澡到高潮hnp视频 | 久久国内精品自在自线 | 黑人大群体交免费视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 4hu四虎永久在线观看 | 人人妻人人澡人人爽人人精品 | 中文字幕+乱码+中文字幕一区 | 亚洲一区二区三区播放 | aⅴ在线视频男人的天堂 | 亚洲人成网站免费播放 | 丰满少妇高潮惨叫视频 | 无码一区二区三区在线观看 | 成人欧美一区二区三区 | 男女下面进入的视频免费午夜 | 蜜桃无码一区二区三区 | 好爽又高潮了毛片免费下载 | 九月婷婷人人澡人人添人人爽 | 无码av中文字幕免费放 | 六月丁香婷婷色狠狠久久 | 久久精品国产大片免费观看 | 久久无码专区国产精品s | 99riav国产精品视频 | 精品人妻人人做人人爽夜夜爽 | 东京无码熟妇人妻av在线网址 | 荡女精品导航 | 亚洲精品一区二区三区大桥未久 | 婷婷五月综合缴情在线视频 | 国产农村妇女高潮大叫 | 欧美日韩亚洲国产精品 | 国产艳妇av在线观看果冻传媒 | 亚洲国产精品一区二区第一页 | 国产在线精品一区二区三区直播 | 午夜福利试看120秒体验区 | 免费看少妇作爱视频 | 精品国产精品久久一区免费式 | 国产一区二区三区精品视频 | 狠狠色噜噜狠狠狠7777奇米 | 又大又硬又黄的免费视频 | 4hu四虎永久在线观看 | 18禁止看的免费污网站 | 精品国产一区二区三区四区在线看 | 中文字幕乱码中文乱码51精品 | 曰韩少妇内射免费播放 | 伊人久久婷婷五月综合97色 | 玩弄人妻少妇500系列视频 | 国产情侣作爱视频免费观看 | 亚洲人成网站免费播放 | 无码人妻少妇伦在线电影 | 在线观看国产午夜福利片 | 日日摸日日碰夜夜爽av | 日韩亚洲欧美精品综合 | 精品国产成人一区二区三区 | 成人试看120秒体验区 | 久久久久久九九精品久 | 中文精品无码中文字幕无码专区 | 国产精品对白交换视频 | 大肉大捧一进一出好爽视频 | a在线亚洲男人的天堂 | 日韩精品无码免费一区二区三区 | 国产成人一区二区三区在线观看 | 国产精品人人爽人人做我的可爱 | 色婷婷av一区二区三区之红樱桃 | 三上悠亚人妻中文字幕在线 | 亚无码乱人伦一区二区 | 曰本女人与公拘交酡免费视频 | 国产亚洲精品久久久闺蜜 | 双乳奶水饱满少妇呻吟 | 日韩精品无码一本二本三本色 | 日本乱偷人妻中文字幕 | 国产成人无码午夜视频在线观看 | 高清不卡一区二区三区 | 亚洲国产成人av在线观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产熟妇高潮叫床视频播放 | 成人精品天堂一区二区三区 | 久久精品人人做人人综合 | 成人精品视频一区二区 | 成人无码精品1区2区3区免费看 | 国产精品久久久av久久久 | 亚洲爆乳大丰满无码专区 | 蜜桃臀无码内射一区二区三区 | 九九久久精品国产免费看小说 | 国产精品久久福利网站 | 国产在线精品一区二区高清不卡 | 久久综合九色综合欧美狠狠 | 粗大的内捧猛烈进出视频 | 国产精品美女久久久久av爽李琼 | 成人片黄网站色大片免费观看 | 正在播放老肥熟妇露脸 | 中文字幕乱码亚洲无线三区 | 久久国产精品二国产精品 | 国产精品18久久久久久麻辣 | 精品国产av色一区二区深夜久久 | 亚洲成av人片在线观看无码不卡 | 嫩b人妻精品一区二区三区 | 亚洲 高清 成人 动漫 | 久久综合狠狠综合久久综合88 | 熟妇女人妻丰满少妇中文字幕 | av无码不卡在线观看免费 | 一本精品99久久精品77 | 国产在线精品一区二区三区直播 | 亚洲 高清 成人 动漫 | 亚洲精品国偷拍自产在线麻豆 | 人人妻人人藻人人爽欧美一区 | 亚洲精品午夜无码电影网 | 天天av天天av天天透 | 波多野结衣高清一区二区三区 | 亚洲の无码国产の无码影院 | 久久久婷婷五月亚洲97号色 | 亚洲人成网站在线播放942 | 欧美精品无码一区二区三区 | 国产精品嫩草久久久久 | 久久久久se色偷偷亚洲精品av | 成人片黄网站色大片免费观看 | 国产乱人无码伦av在线a | 欧美人与牲动交xxxx | 亚洲午夜福利在线观看 | 国产舌乚八伦偷品w中 | 国产精品美女久久久 | 欧美午夜特黄aaaaaa片 | 久久久中文久久久无码 | 亚洲色在线无码国产精品不卡 | 中文字幕 人妻熟女 | 色窝窝无码一区二区三区色欲 | 国产午夜视频在线观看 | 风流少妇按摩来高潮 | 国产在线一区二区三区四区五区 | 亚洲成色在线综合网站 | 国产亚洲精品久久久久久久久动漫 | 亚洲色欲久久久综合网东京热 | 日日摸日日碰夜夜爽av | 人人妻人人澡人人爽欧美一区九九 | 成人动漫在线观看 | аⅴ资源天堂资源库在线 | 欧美黑人巨大xxxxx | 日韩欧美成人免费观看 | 亚洲日本在线电影 | 性做久久久久久久免费看 | 国产三级精品三级男人的天堂 | 国产精品香蕉在线观看 | 一区二区传媒有限公司 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品亚洲а∨无码播放麻豆 | 中文字幕无码日韩专区 | 国产成人无码一二三区视频 | 激情综合激情五月俺也去 | 中文字幕无码av激情不卡 | 人妻天天爽夜夜爽一区二区 | 久久久无码中文字幕久... | 嫩b人妻精品一区二区三区 | 色情久久久av熟女人妻网站 | 日本免费一区二区三区最新 | 久久久www成人免费毛片 | 国产一区二区三区日韩精品 | 男人和女人高潮免费网站 | 亚洲国产欧美日韩精品一区二区三区 | 牲欲强的熟妇农村老妇女 | 国产97色在线 | 免 | 国产精品无码一区二区桃花视频 | 丁香啪啪综合成人亚洲 | 国产明星裸体无码xxxx视频 | 欧美丰满熟妇xxxx性ppx人交 | 狠狠色色综合网站 | 国产亚洲视频中文字幕97精品 | 亚洲精品国产第一综合99久久 | 内射白嫩少妇超碰 | 欧美人与动性行为视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 乱码午夜-极国产极内射 | 无码人妻av免费一区二区三区 | 亚洲国产精品无码一区二区三区 | 午夜理论片yy44880影院 | 国产精品第一区揄拍无码 | 日韩精品久久久肉伦网站 | 丰满人妻精品国产99aⅴ | 色综合久久88色综合天天 | 亚洲日韩一区二区 | 久久99热只有频精品8 | 成人免费无码大片a毛片 | 亚洲国产精品一区二区第一页 | 荡女精品导航 | 色一情一乱一伦一区二区三欧美 | 中文字幕日韩精品一区二区三区 | 九九在线中文字幕无码 | 人人妻人人藻人人爽欧美一区 | 国产乱人伦偷精品视频 | 国产办公室秘书无码精品99 | 亚洲男女内射在线播放 | 未满小14洗澡无码视频网站 | 日本乱偷人妻中文字幕 | 老熟妇乱子伦牲交视频 | 中文字幕乱妇无码av在线 | 亚洲国产高清在线观看视频 | 人人爽人人澡人人高潮 | 无码人妻av免费一区二区三区 | 日本精品少妇一区二区三区 | 色婷婷久久一区二区三区麻豆 | 免费人成网站视频在线观看 | 性色av无码免费一区二区三区 | 国产精品毛片一区二区 | 久久久久久av无码免费看大片 | 天下第一社区视频www日本 | 少妇人妻av毛片在线看 | 亚洲精品久久久久久一区二区 | 欧美三级不卡在线观看 | 性欧美牲交xxxxx视频 | 日本护士毛茸茸高潮 | 亚洲男人av香蕉爽爽爽爽 | 黑人大群体交免费视频 | 九九在线中文字幕无码 | 自拍偷自拍亚洲精品被多人伦好爽 | 丰满人妻一区二区三区免费视频 | 亚洲日韩av一区二区三区中文 | 国产一区二区三区日韩精品 | 久久99精品久久久久婷婷 | 国产97在线 | 亚洲 | 欧美喷潮久久久xxxxx | 精品久久综合1区2区3区激情 | 两性色午夜免费视频 | 国产人妻久久精品二区三区老狼 | 亚洲va中文字幕无码久久不卡 | 在线精品亚洲一区二区 | 久久99精品国产麻豆蜜芽 | 国产色在线 | 国产 | 国产精品对白交换视频 | 小泽玛莉亚一区二区视频在线 | 久久无码中文字幕免费影院蜜桃 | 国产色在线 | 国产 | 国产人妻久久精品二区三区老狼 | 国产成人精品久久亚洲高清不卡 | 女人被男人爽到呻吟的视频 | 色综合天天综合狠狠爱 | 少妇一晚三次一区二区三区 | 亚洲精品午夜无码电影网 | 2020最新国产自产精品 | 国产无遮挡吃胸膜奶免费看 | 中文字幕+乱码+中文字幕一区 | 久久久国产精品无码免费专区 | 国产乱码精品一品二品 | 精品偷自拍另类在线观看 | 特大黑人娇小亚洲女 | 18精品久久久无码午夜福利 | 一区二区三区乱码在线 | 欧洲 | 亚洲日韩av一区二区三区中文 | av无码不卡在线观看免费 | 丰腴饱满的极品熟妇 | 在线看片无码永久免费视频 | 色综合久久中文娱乐网 | 奇米影视7777久久精品 | 乱人伦人妻中文字幕无码久久网 | 牲欲强的熟妇农村老妇女 | 无套内射视频囯产 | 亚洲综合色区中文字幕 | 免费人成网站视频在线观看 | 久久精品中文字幕大胸 | 亚洲 激情 小说 另类 欧美 | 亚洲小说春色综合另类 | 精品熟女少妇av免费观看 | 久久精品中文字幕大胸 | 婷婷五月综合激情中文字幕 | 亚洲成av人综合在线观看 | 日本一区二区三区免费高清 | 国产成人午夜福利在线播放 | 亚洲gv猛男gv无码男同 | 精品一区二区不卡无码av | 久久久精品国产sm最大网站 | 性生交大片免费看女人按摩摩 | 国产舌乚八伦偷品w中 | 亚洲阿v天堂在线 | 亚洲区欧美区综合区自拍区 | 欧美性猛交xxxx富婆 | 国产9 9在线 | 中文 | 欧美 亚洲 国产 另类 | 55夜色66夜色国产精品视频 | 蜜桃av抽搐高潮一区二区 | 亚洲人亚洲人成电影网站色 | 成在人线av无码免观看麻豆 | 免费国产黄网站在线观看 | 欧美35页视频在线观看 | www成人国产高清内射 | 国产绳艺sm调教室论坛 | 久久zyz资源站无码中文动漫 | 日韩人妻少妇一区二区三区 | 国产乡下妇女做爰 | 亚洲欧美色中文字幕在线 | 日本成熟视频免费视频 | 欧美午夜特黄aaaaaa片 | 成人精品视频一区二区三区尤物 | 精品无码一区二区三区爱欲 | 国产精品18久久久久久麻辣 | 国产av一区二区三区最新精品 | 人妻插b视频一区二区三区 | 成人aaa片一区国产精品 | 国产精品久久久久久久9999 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品久久国产三级国 | av无码不卡在线观看免费 | 亚洲人成无码网www | 日本一本二本三区免费 | 1000部夫妻午夜免费 | 日韩人妻少妇一区二区三区 | 成人亚洲精品久久久久 | 又大又硬又黄的免费视频 | 成人亚洲精品久久久久软件 | 久久综合狠狠综合久久综合88 | 久精品国产欧美亚洲色aⅴ大片 | 又大又紧又粉嫩18p少妇 | 亚洲精品一区二区三区四区五区 | 水蜜桃av无码 | 色情久久久av熟女人妻网站 | 国产片av国语在线观看 | 国产熟女一区二区三区四区五区 | 人妻少妇精品无码专区动漫 | 国产成人无码av片在线观看不卡 | 国产又爽又黄又刺激的视频 | 欧美xxxxx精品 | 精品厕所偷拍各类美女tp嘘嘘 | 国产 浪潮av性色四虎 | 亚洲精品久久久久久一区二区 | 欧美精品免费观看二区 | 亚洲日本va午夜在线电影 | 日本大乳高潮视频在线观看 | 女人和拘做爰正片视频 | 在线观看欧美一区二区三区 | 伊人色综合久久天天小片 | 最近免费中文字幕中文高清百度 | 午夜福利一区二区三区在线观看 | 国产亚洲精品久久久久久大师 | 国产成人无码区免费内射一片色欲 | 精品人妻人人做人人爽夜夜爽 | 亚洲精品一区国产 | 亚洲成av人影院在线观看 | 午夜肉伦伦影院 | 精品无码成人片一区二区98 | 亚洲人亚洲人成电影网站色 | 久久久久国色av免费观看性色 | 欧美人与牲动交xxxx | 国产香蕉97碰碰久久人人 | 亚洲熟悉妇女xxx妇女av | 中文亚洲成a人片在线观看 | 国产人妖乱国产精品人妖 | 成人动漫在线观看 | 国产精品免费大片 | 亚洲欧美综合区丁香五月小说 | 久久亚洲国产成人精品性色 | 激情人妻另类人妻伦 | 国产97在线 | 亚洲 | 亚洲欧洲无卡二区视頻 | 国产精品久久久久久久9999 | 欧美精品国产综合久久 | 亚洲国产精品无码久久久久高潮 | 一个人看的www免费视频在线观看 | 亚洲s码欧洲m码国产av | 亚洲精品鲁一鲁一区二区三区 | 亚洲综合无码久久精品综合 | 亚洲中文无码av永久不收费 | 日产精品高潮呻吟av久久 | 玩弄少妇高潮ⅹxxxyw | 熟女少妇人妻中文字幕 | 99久久99久久免费精品蜜桃 | 中文字幕 亚洲精品 第1页 | 18无码粉嫩小泬无套在线观看 | 国产精华av午夜在线观看 | 国产精品鲁鲁鲁 | 捆绑白丝粉色jk震动捧喷白浆 | 中文字幕无码免费久久99 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美自拍另类欧美综合图片区 | 亚洲精品国产精品乱码视色 | 精品国产精品久久一区免费式 | 色综合天天综合狠狠爱 | 欧美精品在线观看 | www国产亚洲精品久久网站 | 国产激情精品一区二区三区 | 亚洲精品无码国产 | 性色欲网站人妻丰满中文久久不卡 | 内射爽无广熟女亚洲 | 亚洲爆乳无码专区 | 蜜臀av无码人妻精品 | 欧美真人作爱免费视频 | 少妇高潮一区二区三区99 | 自拍偷自拍亚洲精品10p | 精品人妻中文字幕有码在线 | 国产成人精品视频ⅴa片软件竹菊 | 国产人妻精品一区二区三区 | 老太婆性杂交欧美肥老太 | 51国偷自产一区二区三区 | 国产9 9在线 | 中文 | 激情爆乳一区二区三区 | 日本肉体xxxx裸交 | 国产香蕉尹人综合在线观看 | 国产办公室秘书无码精品99 | 欧美黑人性暴力猛交喷水 | 老子影院午夜精品无码 | 国产疯狂伦交大片 | 牲交欧美兽交欧美 | 国产亚洲精品久久久久久大师 | 99久久精品无码一区二区毛片 | 国产在线无码精品电影网 | 一个人看的www免费视频在线观看 | 成人精品视频一区二区三区尤物 | 日本护士毛茸茸高潮 | 自拍偷自拍亚洲精品10p | 国产乡下妇女做爰 | 欧洲欧美人成视频在线 | 精品水蜜桃久久久久久久 | 人妻少妇精品视频专区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 大地资源网第二页免费观看 | 日本一区二区三区免费高清 | 国产精品二区一区二区aⅴ污介绍 | 国产97人人超碰caoprom | 亚洲色成人中文字幕网站 | 久久99精品久久久久久动态图 | 野狼第一精品社区 | 亚洲娇小与黑人巨大交 | 亚洲中文字幕无码中文字在线 | 亚洲人交乣女bbw | 亚洲综合无码久久精品综合 | 又粗又大又硬又长又爽 | 色爱情人网站 | ass日本丰满熟妇pics | 天天拍夜夜添久久精品 | 日本xxxx色视频在线观看免费 | 少妇一晚三次一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲爆乳大丰满无码专区 | 国内精品九九久久久精品 | 日本xxxx色视频在线观看免费 | 无码av免费一区二区三区试看 | 欧美人与牲动交xxxx | 麻豆av传媒蜜桃天美传媒 | 最近的中文字幕在线看视频 | 国产精品香蕉在线观看 | 国产精品亚洲综合色区韩国 | 日本va欧美va欧美va精品 | 麻豆av传媒蜜桃天美传媒 | 亚洲gv猛男gv无码男同 | 在线精品国产一区二区三区 | 国产精品99久久精品爆乳 | 久久99精品久久久久久 | 国产精品人人妻人人爽 | 亚洲国产精品毛片av不卡在线 | 亚洲精品美女久久久久久久 | 国产又爽又黄又刺激的视频 | 亚洲国产精品久久久久久 | 亚洲大尺度无码无码专区 | 强开小婷嫩苞又嫩又紧视频 | 国产成人午夜福利在线播放 | 国产亚洲美女精品久久久2020 | 亚洲日本va中文字幕 | 欧美黑人性暴力猛交喷水 | 日韩欧美中文字幕公布 | 国产黑色丝袜在线播放 | 国产精品高潮呻吟av久久 | 亚洲人成网站免费播放 | 欧美精品国产综合久久 | 欧美激情综合亚洲一二区 | 十八禁视频网站在线观看 | 中文字幕人妻无码一夲道 | 国产av无码专区亚洲a∨毛片 | 国产特级毛片aaaaaaa高清 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品久久久久久久影院 | 亚洲第一无码av无码专区 | 成人欧美一区二区三区黑人 | 色情久久久av熟女人妻网站 | 夜夜夜高潮夜夜爽夜夜爰爰 | 搡女人真爽免费视频大全 | 国产sm调教视频在线观看 | 精品 日韩 国产 欧美 视频 | 国产午夜无码精品免费看 | 色综合久久久无码网中文 | 久久人人爽人人人人片 | 欧美日韩综合一区二区三区 | 国内精品九九久久久精品 | 久久zyz资源站无码中文动漫 | 色爱情人网站 | 中文字幕精品av一区二区五区 | 中文字幕人妻无码一区二区三区 | 欧美高清在线精品一区 | 伊人久久大香线蕉午夜 | 国产69精品久久久久app下载 | 性欧美熟妇videofreesex | 美女毛片一区二区三区四区 | 人妻体内射精一区二区三四 | 少妇高潮一区二区三区99 | 又色又爽又黄的美女裸体网站 | 色婷婷av一区二区三区之红樱桃 | 日本大乳高潮视频在线观看 | 欧美人与物videos另类 | 熟女少妇人妻中文字幕 | 国产精品丝袜黑色高跟鞋 | 少妇无码av无码专区在线观看 | 国产精品人人爽人人做我的可爱 | 中文字幕人妻无码一夲道 | 精品人妻人人做人人爽夜夜爽 | 婷婷五月综合激情中文字幕 | 国産精品久久久久久久 | 国产美女极度色诱视频www | 无码av免费一区二区三区试看 | 18禁止看的免费污网站 | 国产偷抇久久精品a片69 | 国产乱码精品一品二品 | 131美女爱做视频 | 精品人妻人人做人人爽 | 天堂久久天堂av色综合 | 亚洲日本一区二区三区在线 | 午夜熟女插插xx免费视频 | 又粗又大又硬毛片免费看 | 综合激情五月综合激情五月激情1 | 在线播放无码字幕亚洲 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲热妇无码av在线播放 | 日韩亚洲欧美精品综合 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产精品va在线播放 | 精品人妻人人做人人爽夜夜爽 | 99视频精品全部免费免费观看 | 亚洲va欧美va天堂v国产综合 | 国产av无码专区亚洲awww | 国产亚洲人成在线播放 | 欧美激情一区二区三区成人 | 国产成人精品无码播放 | 98国产精品综合一区二区三区 | 国产免费久久精品国产传媒 | 亚洲色在线无码国产精品不卡 | 又大又紧又粉嫩18p少妇 | 亚洲s色大片在线观看 | 最近中文2019字幕第二页 | 亚洲色在线无码国产精品不卡 | 窝窝午夜理论片影院 | 欧洲熟妇色 欧美 | 人人妻在人人 | 少妇无码av无码专区在线观看 | 久久国产精品_国产精品 | 丰满少妇熟乱xxxxx视频 | 四虎国产精品一区二区 | 国产精品-区区久久久狼 | 又黄又爽又色的视频 | 波多野42部无码喷潮在线 | 装睡被陌生人摸出水好爽 | 久久久精品456亚洲影院 | 国产一区二区三区日韩精品 | 国产内射爽爽大片视频社区在线 | 国产av一区二区精品久久凹凸 | 55夜色66夜色国产精品视频 | 男人和女人高潮免费网站 | 午夜精品久久久久久久久 | a片在线免费观看 | 欧美性猛交内射兽交老熟妇 | 亚洲欧美中文字幕5发布 | 久久久国产精品无码免费专区 | 久久综合九色综合97网 | 老熟妇乱子伦牲交视频 | 久久成人a毛片免费观看网站 | 呦交小u女精品视频 | 亚洲色大成网站www国产 | yw尤物av无码国产在线观看 | 国产午夜亚洲精品不卡下载 | 俺去俺来也在线www色官网 | 色综合久久中文娱乐网 | 欧洲vodafone精品性 | 色妞www精品免费视频 | 亚洲日韩一区二区 | 国语自产偷拍精品视频偷 | 国产又粗又硬又大爽黄老大爷视 | 欧美日韩视频无码一区二区三 | 国产亚洲tv在线观看 | 人妻少妇精品视频专区 | 97资源共享在线视频 | 无遮挡国产高潮视频免费观看 | 亚洲最大成人网站 | 国产婷婷色一区二区三区在线 | 人妻插b视频一区二区三区 | 夜精品a片一区二区三区无码白浆 | 久久国产精品_国产精品 | 亚洲国产精品一区二区美利坚 | 沈阳熟女露脸对白视频 | 国产成人无码av在线影院 | 青草视频在线播放 | 理论片87福利理论电影 | 亚洲国产精华液网站w | 无码人妻出轨黑人中文字幕 | 亚洲成a人片在线观看日本 | 欧美日韩精品 | 欧美怡红院免费全部视频 | 久精品国产欧美亚洲色aⅴ大片 | 成在人线av无码免费 | 荡女精品导航 | 亚洲 激情 小说 另类 欧美 | 久久精品一区二区三区四区 | 蜜桃视频韩日免费播放 | 国产精品亚洲一区二区三区喷水 | 综合人妻久久一区二区精品 | 成人试看120秒体验区 | 人妻与老人中文字幕 | 亚洲中文字幕无码中文字在线 | 中文字幕日产无线码一区 | 亚洲色偷偷偷综合网 | 欧美黑人性暴力猛交喷水 | 国产又爽又猛又粗的视频a片 | 亚洲一区二区三区在线观看网站 | 日韩亚洲欧美中文高清在线 | 欧美精品无码一区二区三区 | 精品偷自拍另类在线观看 | 婷婷六月久久综合丁香 | 精品久久综合1区2区3区激情 | 又湿又紧又大又爽a视频国产 | 日本护士xxxxhd少妇 | 狠狠色欧美亚洲狠狠色www | 精品成人av一区二区三区 | www国产亚洲精品久久久日本 | 黑人巨大精品欧美黑寡妇 | 日本熟妇乱子伦xxxx | 狠狠躁日日躁夜夜躁2020 | 中文精品久久久久人妻不卡 | 香蕉久久久久久av成人 | 国产成人无码区免费内射一片色欲 | 内射后入在线观看一区 | 亚洲色大成网站www | 亚洲国产欧美国产综合一区 | 日本欧美一区二区三区乱码 | 国产成人无码av在线影院 | 国产成人综合在线女婷五月99播放 | 亚洲精品午夜国产va久久成人 | 亚洲春色在线视频 | 国产乡下妇女做爰 | 国产av无码专区亚洲awww | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 十八禁视频网站在线观看 | 精品无码一区二区三区爱欲 | 国产午夜无码精品免费看 | 国产免费无码一区二区视频 | 欧美乱妇无乱码大黄a片 | 欧美熟妇另类久久久久久多毛 | 亚洲精品一区二区三区婷婷月 | 国产精品高潮呻吟av久久4虎 | 日日麻批免费40分钟无码 | 伊人色综合久久天天小片 | 激情亚洲一区国产精品 | 日韩无套无码精品 | 国产疯狂伦交大片 | 亚洲男人av香蕉爽爽爽爽 | 国产一区二区三区日韩精品 | 亚洲欧美日韩成人高清在线一区 | 亚洲精品一区二区三区四区五区 | 亚洲人成网站免费播放 | 又粗又大又硬毛片免费看 | 亚洲精品国偷拍自产在线观看蜜桃 | 色综合久久久无码网中文 | 99久久精品无码一区二区毛片 | 国产人妻精品一区二区三区 | 99久久精品午夜一区二区 | 女人被男人爽到呻吟的视频 | 免费观看的无遮挡av | 久久亚洲精品中文字幕无男同 | 日本精品人妻无码77777 天堂一区人妻无码 | 在线天堂新版最新版在线8 | 日日碰狠狠丁香久燥 | 久久www免费人成人片 | 国内丰满熟女出轨videos | 欧美亚洲日韩国产人成在线播放 | 未满小14洗澡无码视频网站 | 99久久精品午夜一区二区 | 国产成人综合美国十次 | 国产成人一区二区三区在线观看 | 男人扒开女人内裤强吻桶进去 | 久久国产精品_国产精品 | 日韩在线不卡免费视频一区 | 亚洲国产欧美国产综合一区 | 熟妇人妻中文av无码 | 国产网红无码精品视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产香蕉尹人视频在线 | 小sao货水好多真紧h无码视频 | 国产麻豆精品一区二区三区v视界 | 扒开双腿吃奶呻吟做受视频 | 国产成人无码一二三区视频 | 一二三四社区在线中文视频 | 男人和女人高潮免费网站 | 少妇性l交大片 | 亚洲精品国产精品乱码不卡 | 影音先锋中文字幕无码 | 精品日本一区二区三区在线观看 | 青青草原综合久久大伊人精品 | 一本久久a久久精品vr综合 | 国内少妇偷人精品视频免费 | 双乳奶水饱满少妇呻吟 | 国产乱人伦偷精品视频 | 理论片87福利理论电影 | av无码电影一区二区三区 | 久久99精品久久久久婷婷 | 天天爽夜夜爽夜夜爽 | 综合人妻久久一区二区精品 | 男人扒开女人内裤强吻桶进去 | 欧美喷潮久久久xxxxx | 成人亚洲精品久久久久软件 | 国产精品丝袜黑色高跟鞋 | 在线观看免费人成视频 | 欧美人与禽猛交狂配 | 97夜夜澡人人爽人人喊中国片 | 久久久精品国产sm最大网站 | 精品偷拍一区二区三区在线看 | 十八禁真人啪啪免费网站 | 亚洲精品国产精品乱码不卡 | 色婷婷综合激情综在线播放 | 成人欧美一区二区三区黑人免费 | 福利一区二区三区视频在线观看 | 久久成人a毛片免费观看网站 | 亚洲男人av香蕉爽爽爽爽 | 性开放的女人aaa片 | 亚洲成av人影院在线观看 | 天天躁夜夜躁狠狠是什么心态 | 亚洲国产精品成人久久蜜臀 | 色欲人妻aaaaaaa无码 | 丰满少妇高潮惨叫视频 | 双乳奶水饱满少妇呻吟 | 免费人成在线观看网站 | 亚洲中文字幕久久无码 | 无码福利日韩神码福利片 | 免费无码午夜福利片69 | 无码人妻精品一区二区三区下载 | 无码播放一区二区三区 | 免费无码av一区二区 | 亚洲中文字幕久久无码 | 一区二区三区高清视频一 | 国产精品亚洲综合色区韩国 | 麻豆md0077饥渴少妇 | 久久久精品456亚洲影院 | 欧美zoozzooz性欧美 | 日韩精品乱码av一区二区 | 欧美老妇交乱视频在线观看 | 国产两女互慰高潮视频在线观看 | 精品国产一区av天美传媒 | 色综合久久88色综合天天 | 婷婷丁香五月天综合东京热 | 中文字幕无码免费久久99 | 亚洲娇小与黑人巨大交 | 美女黄网站人色视频免费国产 | 亚洲国产精品无码一区二区三区 | 伊人久久婷婷五月综合97色 | 亚洲а∨天堂久久精品2021 | 未满小14洗澡无码视频网站 | 天堂久久天堂av色综合 | 搡女人真爽免费视频大全 | 少妇无码一区二区二三区 | 大地资源中文第3页 | 少妇一晚三次一区二区三区 | 99久久人妻精品免费二区 | 樱花草在线社区www | 老熟妇仑乱视频一区二区 | 红桃av一区二区三区在线无码av | 熟女少妇在线视频播放 | 300部国产真实乱 | 国产精品人妻一区二区三区四 | 暴力强奷在线播放无码 | 亚洲日韩av一区二区三区中文 | 中文字幕亚洲情99在线 | 综合人妻久久一区二区精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲成av人影院在线观看 | 亚洲色偷偷偷综合网 | 久久久无码中文字幕久... | 亚洲国产欧美在线成人 | 人妻少妇被猛烈进入中文字幕 | 久久精品国产精品国产精品污 | 天堂在线观看www | 无码人妻出轨黑人中文字幕 | 中文字幕无码av波多野吉衣 | 欧美兽交xxxx×视频 | 午夜男女很黄的视频 | 国产在线精品一区二区三区直播 | 国产人妻大战黑人第1集 | 成人欧美一区二区三区黑人 | 国产精品高潮呻吟av久久 | 自拍偷自拍亚洲精品被多人伦好爽 | 无码乱肉视频免费大全合集 | 精品国产av色一区二区深夜久久 | 国产成人精品无码播放 | 国产97色在线 | 免 | 曰本女人与公拘交酡免费视频 | 亚洲乱码日产精品bd | 久热国产vs视频在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 久久精品成人欧美大片 | 中文字幕精品av一区二区五区 | 久久综合狠狠综合久久综合88 | 国产高清不卡无码视频 | 午夜精品一区二区三区在线观看 | 亚洲一区二区三区国产精华液 | 亚洲精品美女久久久久久久 | 欧美成人免费全部网站 | 色情久久久av熟女人妻网站 | 日韩人妻无码一区二区三区久久99 | 人人爽人人爽人人片av亚洲 | 特黄特色大片免费播放器图片 | 天堂一区人妻无码 | 精品国精品国产自在久国产87 | 西西人体www44rt大胆高清 | 成人免费无码大片a毛片 | 少妇激情av一区二区 | 成 人 免费观看网站 | 欧美人与牲动交xxxx | 亚洲精品国产精品乱码不卡 | 久久国语露脸国产精品电影 | 精品人妻人人做人人爽 | 国产乡下妇女做爰 | 亚洲s色大片在线观看 | 亚洲欧洲无卡二区视頻 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 欧美日韩人成综合在线播放 | 日韩精品乱码av一区二区 | 日产精品高潮呻吟av久久 | 亚洲色欲色欲欲www在线 | 国产特级毛片aaaaaaa高清 | 国产午夜精品一区二区三区嫩草 | 国产亚洲精品久久久久久久久动漫 | 久久久久亚洲精品中文字幕 | 国产精品无码mv在线观看 | 日本一区二区三区免费高清 | 天下第一社区视频www日本 | 人妻体内射精一区二区三四 | 樱花草在线社区www | 国精品人妻无码一区二区三区蜜柚 | 国产精品爱久久久久久久 | 日本www一道久久久免费榴莲 | 久久99久久99精品中文字幕 | 曰本女人与公拘交酡免费视频 | 老熟女乱子伦 | 性史性农村dvd毛片 | 真人与拘做受免费视频一 | 欧美性猛交内射兽交老熟妇 | 精品久久综合1区2区3区激情 | 欧美大屁股xxxxhd黑色 | 少妇厨房愉情理9仑片视频 | 一区二区三区乱码在线 | 欧洲 | 全黄性性激高免费视频 | 国产无av码在线观看 | 成人性做爰aaa片免费看不忠 | 亚洲精品国产第一综合99久久 | 午夜精品久久久久久久久 | 久久精品无码一区二区三区 | 欧美亚洲国产一区二区三区 | 国产麻豆精品一区二区三区v视界 | 欧美 日韩 亚洲 在线 | 国产精品久久久av久久久 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲狠狠色丁香婷婷综合 | 亚洲精品久久久久久一区二区 | 丁香花在线影院观看在线播放 | 国产精品久久久久久无码 | 国产亚洲日韩欧美另类第八页 | av人摸人人人澡人人超碰下载 | 国色天香社区在线视频 | 51国偷自产一区二区三区 | 国产熟女一区二区三区四区五区 | 熟女体下毛毛黑森林 | 日本乱人伦片中文三区 | 成人精品天堂一区二区三区 | 黄网在线观看免费网站 | 永久黄网站色视频免费直播 | 成人影院yy111111在线观看 | 中文字幕av伊人av无码av | 国产成人无码av在线影院 | 国产一区二区不卡老阿姨 | 亚洲一区二区三区 | 曰韩少妇内射免费播放 | 欧美精品一区二区精品久久 | 欧美精品无码一区二区三区 | 一个人看的www免费视频在线观看 | 2019nv天堂香蕉在线观看 | 狠狠亚洲超碰狼人久久 | 88国产精品欧美一区二区三区 | 欧美日韩一区二区免费视频 | 国产成人精品视频ⅴa片软件竹菊 | 一本久道久久综合狠狠爱 | 中文字幕色婷婷在线视频 | 成人av无码一区二区三区 | 国产精品a成v人在线播放 | 中文无码成人免费视频在线观看 | 成人精品一区二区三区中文字幕 | 亚洲国产av精品一区二区蜜芽 | 一区二区三区乱码在线 | 欧洲 | 久久精品人人做人人综合 | 国产精品丝袜黑色高跟鞋 | 啦啦啦www在线观看免费视频 | 亚洲国产日韩a在线播放 | 老司机亚洲精品影院 | 国产成人综合在线女婷五月99播放 | 少妇的肉体aa片免费 | 国产乡下妇女做爰 | 久久综合九色综合欧美狠狠 | 日本一卡2卡3卡四卡精品网站 | 东京无码熟妇人妻av在线网址 | 亚洲日韩一区二区 | 国产真实乱对白精彩久久 | 精品乱子伦一区二区三区 | 日韩少妇内射免费播放 | 国产人妻久久精品二区三区老狼 | 人妻少妇精品久久 | 国产人妻精品一区二区三区 | 一本大道久久东京热无码av | 国内精品久久毛片一区二区 | 亚洲日韩精品欧美一区二区 | 午夜免费福利小电影 | 波多野结衣av在线观看 | 嫩b人妻精品一区二区三区 | 正在播放东北夫妻内射 | 亚洲国产欧美在线成人 | 永久免费观看国产裸体美女 | 亚洲日本一区二区三区在线 | 一区二区三区乱码在线 | 欧洲 | 老熟女乱子伦 | 激情综合激情五月俺也去 | 激情五月综合色婷婷一区二区 | 精品久久久无码人妻字幂 | 一区二区三区高清视频一 | 成人综合网亚洲伊人 | 纯爱无遮挡h肉动漫在线播放 | 日本高清一区免费中文视频 | 少妇的肉体aa片免费 | 夜精品a片一区二区三区无码白浆 | 一本久道高清无码视频 | 天下第一社区视频www日本 | 亚洲 欧美 激情 小说 另类 | 在线欧美精品一区二区三区 | 午夜福利不卡在线视频 | 亚洲日本一区二区三区在线 | 欧美 亚洲 国产 另类 | 性史性农村dvd毛片 | 国内精品久久毛片一区二区 | 一本一道久久综合久久 | 波多野结衣一区二区三区av免费 | 无码人妻丰满熟妇区毛片18 | 99久久亚洲精品无码毛片 | 无码毛片视频一区二区本码 | 成人无码影片精品久久久 | 成年美女黄网站色大免费视频 | 7777奇米四色成人眼影 | 十八禁真人啪啪免费网站 | 亚洲精品国产精品乱码视色 | 97夜夜澡人人爽人人喊中国片 | 久久亚洲精品中文字幕无男同 | 中文字幕无线码 | 99在线 | 亚洲 | 日本乱人伦片中文三区 | 男人和女人高潮免费网站 | 久久综合激激的五月天 | 亚洲爆乳精品无码一区二区三区 | 国内精品久久久久久中文字幕 | 性开放的女人aaa片 | 思思久久99热只有频精品66 | 国产明星裸体无码xxxx视频 | 国产又粗又硬又大爽黄老大爷视 | 天天摸天天透天天添 | 国内丰满熟女出轨videos | 日本精品少妇一区二区三区 | 久久国产精品_国产精品 | 亚洲区欧美区综合区自拍区 | 久久精品国产日本波多野结衣 | 中文字幕av无码一区二区三区电影 | 日韩 欧美 动漫 国产 制服 | 国产香蕉尹人视频在线 | 亚洲综合无码久久精品综合 | 波多野结衣av一区二区全免费观看 | 国产sm调教视频在线观看 | 一本久道久久综合婷婷五月 | 欧美性猛交xxxx富婆 | 中文字幕无码av激情不卡 | 成人欧美一区二区三区黑人免费 | aa片在线观看视频在线播放 | 国产免费久久精品国产传媒 | 国产精品无套呻吟在线 | 日韩av无码一区二区三区不卡 | 亚洲精品国产精品乱码视色 | 亚洲狠狠色丁香婷婷综合 | 中文字幕日韩精品一区二区三区 | 亚洲自偷自拍另类第1页 | 天天拍夜夜添久久精品大 | 久久久久免费精品国产 | 亚洲国产成人av在线观看 | 免费无码一区二区三区蜜桃大 | 久9re热视频这里只有精品 | 无码毛片视频一区二区本码 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲色大成网站www国产 | 亚洲成色在线综合网站 | 日韩人妻无码一区二区三区久久99 | 亚洲综合无码一区二区三区 | av无码电影一区二区三区 | 久久久精品欧美一区二区免费 | 免费看男女做好爽好硬视频 | 在线观看国产一区二区三区 | 久久久亚洲欧洲日产国码αv | 色欲久久久天天天综合网精品 | 亚洲狠狠婷婷综合久久 | 国产超级va在线观看视频 | 日韩av激情在线观看 | 国产亚洲精品久久久久久久 | 色五月五月丁香亚洲综合网 | 欧美日韩一区二区免费视频 | 无套内谢的新婚少妇国语播放 | 天堂а√在线地址中文在线 | 亚洲aⅴ无码成人网站国产app | 久久久中文字幕日本无吗 | 好爽又高潮了毛片免费下载 | 在线播放免费人成毛片乱码 | 亚洲娇小与黑人巨大交 | 亚洲日韩av一区二区三区四区 | 无码毛片视频一区二区本码 | 黑人大群体交免费视频 | 美女黄网站人色视频免费国产 | 自拍偷自拍亚洲精品被多人伦好爽 | 宝宝好涨水快流出来免费视频 | 精品偷拍一区二区三区在线看 | 亚洲国产成人a精品不卡在线 | 99久久精品无码一区二区毛片 | 无码av免费一区二区三区试看 | 全黄性性激高免费视频 | 色婷婷av一区二区三区之红樱桃 | 人妻与老人中文字幕 | 精品欧洲av无码一区二区三区 | 国产性生大片免费观看性 | 国产又爽又黄又刺激的视频 | 亚洲熟妇色xxxxx欧美老妇y | 日本又色又爽又黄的a片18禁 | 久久综合给合久久狠狠狠97色 | 少妇被黑人到高潮喷出白浆 | www国产精品内射老师 | 国产成人精品久久亚洲高清不卡 | 无码成人精品区在线观看 | 人妻与老人中文字幕 | 中文字幕av伊人av无码av | 亚洲精品欧美二区三区中文字幕 | 久久99精品国产麻豆 | 丰满人妻翻云覆雨呻吟视频 | 夫妻免费无码v看片 | 中文久久乱码一区二区 | 无遮挡国产高潮视频免费观看 | 亚洲中文字幕乱码av波多ji | 色五月五月丁香亚洲综合网 | 久久综合色之久久综合 | 东京热一精品无码av | 亚洲日韩乱码中文无码蜜桃臀网站 | 人妻少妇精品无码专区二区 | 精品国产一区二区三区四区 | 国产激情综合五月久久 | 成人无码视频免费播放 | 精品久久久久久亚洲精品 | 国产精品国产三级国产专播 | 午夜福利电影 | 中文字幕乱码中文乱码51精品 | 久久综合激激的五月天 | 亚洲熟妇色xxxxx欧美老妇 | 精品国精品国产自在久国产87 | 成人亚洲精品久久久久 | 色老头在线一区二区三区 | √天堂中文官网8在线 | 国产成人无码a区在线观看视频app | 人人妻人人藻人人爽欧美一区 | 欧洲美熟女乱又伦 | 狠狠噜狠狠狠狠丁香五月 | 麻花豆传媒剧国产免费mv在线 | 日韩av无码一区二区三区 | 久久久久亚洲精品中文字幕 | 伊人久久大香线焦av综合影院 | 5858s亚洲色大成网站www | 性欧美熟妇videofreesex | 无码精品国产va在线观看dvd | 久久国产36精品色熟妇 | 妺妺窝人体色www在线小说 | 伊人久久大香线蕉午夜 | 2020久久香蕉国产线看观看 | 日本护士xxxxhd少妇 | 中文字幕人妻无码一夲道 | 亚洲s色大片在线观看 | 初尝人妻少妇中文字幕 | 波多野结衣aⅴ在线 | 少妇高潮喷潮久久久影院 | 国产做国产爱免费视频 | 午夜福利电影 | 97久久国产亚洲精品超碰热 | 三上悠亚人妻中文字幕在线 | 日本精品高清一区二区 | 欧美真人作爱免费视频 | 女人色极品影院 | 内射老妇bbwx0c0ck | 又紧又大又爽精品一区二区 | 正在播放东北夫妻内射 | 久久综合九色综合97网 | 欧美精品免费观看二区 | 99久久99久久免费精品蜜桃 | 东京一本一道一二三区 | 无码av最新清无码专区吞精 | 国产内射爽爽大片视频社区在线 | 老熟女重囗味hdxx69 | 亚洲成av人在线观看网址 | 亚洲欧美精品aaaaaa片 | av在线亚洲欧洲日产一区二区 | 精品国产一区二区三区av 性色 | 999久久久国产精品消防器材 | 国产精品亚洲综合色区韩国 | 2019午夜福利不卡片在线 | 国精品人妻无码一区二区三区蜜柚 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久视频在线观看精品 | 日本护士xxxxhd少妇 | 国产极品美女高潮无套在线观看 | 国内精品人妻无码久久久影院蜜桃 | 国产成人综合在线女婷五月99播放 | 精品国产青草久久久久福利 | 日韩av激情在线观看 | 特大黑人娇小亚洲女 | 国产xxx69麻豆国语对白 | 亚洲精品中文字幕 | 精品欧美一区二区三区久久久 | 久久99精品久久久久婷婷 | 国产精品久久久久7777 | 中文字幕色婷婷在线视频 | 成人女人看片免费视频放人 | 国产精品人妻一区二区三区四 | 一本色道婷婷久久欧美 | 久久久久国色av免费观看性色 | 亚洲精品一区二区三区在线观看 | 亚洲精品www久久久 | 亚洲娇小与黑人巨大交 | 中文无码伦av中文字幕 | 装睡被陌生人摸出水好爽 | 亚洲精品国产精品乱码视色 | 一区二区三区高清视频一 | 国产精品久免费的黄网站 | 51国偷自产一区二区三区 | 日本精品人妻无码免费大全 | 亚洲中文无码av永久不收费 | 国产精品久久久久久久9999 | 国产人妻人伦精品1国产丝袜 | 日本高清一区免费中文视频 | 亚洲区欧美区综合区自拍区 | 97精品人妻一区二区三区香蕉 | 国产av剧情md精品麻豆 | 粗大的内捧猛烈进出视频 | 久久精品中文闷骚内射 | 亚洲国产精品无码一区二区三区 | 日产精品高潮呻吟av久久 | 国内精品人妻无码久久久影院蜜桃 | 国产女主播喷水视频在线观看 | 一个人免费观看的www视频 | 久青草影院在线观看国产 | 天天拍夜夜添久久精品 | 精品国产一区二区三区四区 | 午夜福利不卡在线视频 | 国产精品嫩草久久久久 | 久久久久久久女国产乱让韩 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲色欲色欲欲www在线 | 精品无码国产自产拍在线观看蜜 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲小说图区综合在线 | 亚洲高清偷拍一区二区三区 | 成 人影片 免费观看 | 女人高潮内射99精品 | 亲嘴扒胸摸屁股激烈网站 | 人妻中文无码久热丝袜 | 伊人久久大香线蕉av一区二区 | 国产精品亚洲lv粉色 | 国产艳妇av在线观看果冻传媒 | 国产精品成人av在线观看 | 蜜桃视频插满18在线观看 | 波多野结衣乳巨码无在线观看 | 久久久成人毛片无码 | 性欧美疯狂xxxxbbbb | 国产午夜亚洲精品不卡下载 | 国产超碰人人爽人人做人人添 | 色综合视频一区二区三区 | 亚洲阿v天堂在线 | 国产精华av午夜在线观看 | 久久无码专区国产精品s | 国产成人无码av在线影院 | 中文字幕乱妇无码av在线 | 伊人色综合久久天天小片 | 国产人妻精品一区二区三区 | 久久亚洲a片com人成 | 天堂亚洲2017在线观看 | a片在线免费观看 | 国产人妻人伦精品 | 久久精品国产大片免费观看 | 夜精品a片一区二区三区无码白浆 | 日本丰满护士爆乳xxxx | 亚洲精品鲁一鲁一区二区三区 | 午夜无码区在线观看 | 国产精品办公室沙发 | 自拍偷自拍亚洲精品10p | 亚洲区欧美区综合区自拍区 | 欧美日韩在线亚洲综合国产人 | 一本久久a久久精品vr综合 | 亚洲精品一区三区三区在线观看 | 亚洲s码欧洲m码国产av | 亚洲小说图区综合在线 | 四虎国产精品免费久久 | 99久久久国产精品无码免费 | 久久zyz资源站无码中文动漫 | 国産精品久久久久久久 | 鲁鲁鲁爽爽爽在线视频观看 | 国模大胆一区二区三区 | 男人和女人高潮免费网站 | 日本熟妇人妻xxxxx人hd | 中文亚洲成a人片在线观看 | 东京热男人av天堂 | 内射欧美老妇wbb | 国产热a欧美热a在线视频 | 亚洲人成影院在线无码按摩店 | 国内精品人妻无码久久久影院 | 精品国产麻豆免费人成网站 | 十八禁真人啪啪免费网站 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 欧美国产日韩亚洲中文 | 国内精品九九久久久精品 | 天天躁夜夜躁狠狠是什么心态 | 中文字幕av日韩精品一区二区 | 又大又硬又黄的免费视频 | 色噜噜亚洲男人的天堂 | 日本在线高清不卡免费播放 | 国产欧美亚洲精品a | 性色av无码免费一区二区三区 | 日本大香伊一区二区三区 | 午夜熟女插插xx免费视频 | 欧美阿v高清资源不卡在线播放 | www一区二区www免费 | 久久久精品欧美一区二区免费 | 日本免费一区二区三区最新 | 成人一区二区免费视频 | 亚洲国产欧美日韩精品一区二区三区 | 欧美高清在线精品一区 | 中文字幕人妻无码一夲道 | 福利一区二区三区视频在线观看 | 亚洲阿v天堂在线 | 午夜成人1000部免费视频 | 国产电影无码午夜在线播放 | 动漫av一区二区在线观看 | 精品国产青草久久久久福利 | 日韩人妻少妇一区二区三区 | 曰本女人与公拘交酡免费视频 | 超碰97人人做人人爱少妇 | 55夜色66夜色国产精品视频 | 久久久久av无码免费网 | 国产suv精品一区二区五 | 色欲久久久天天天综合网精品 | 欧美人与动性行为视频 | 国产无av码在线观看 | 亚洲欧美综合区丁香五月小说 | 97无码免费人妻超级碰碰夜夜 | 熟妇人妻无码xxx视频 | 久久熟妇人妻午夜寂寞影院 | 久久久久久a亚洲欧洲av冫 | 又粗又大又硬毛片免费看 | 国内少妇偷人精品视频 | 伊人久久大香线蕉午夜 | 久9re热视频这里只有精品 | 日本精品高清一区二区 | 欧美丰满熟妇xxxx | 国产无套粉嫩白浆在线 | 中文字幕无码免费久久99 | 日韩欧美中文字幕公布 | 蜜臀av无码人妻精品 | 色综合久久久久综合一本到桃花网 | 国产av人人夜夜澡人人爽麻豆 | 免费无码午夜福利片69 | 7777奇米四色成人眼影 | 欧洲精品码一区二区三区免费看 | 亚洲天堂2017无码中文 | 久久99精品国产.久久久久 | 精品偷自拍另类在线观看 | 色综合久久久无码网中文 | 亚洲精品中文字幕久久久久 | 国产在线无码精品电影网 | 国产精品鲁鲁鲁 | 两性色午夜视频免费播放 | 1000部啪啪未满十八勿入下载 | 久久99国产综合精品 | 天天躁夜夜躁狠狠是什么心态 | 久久久久久a亚洲欧洲av冫 | 日本熟妇大屁股人妻 | 红桃av一区二区三区在线无码av | 国产高潮视频在线观看 | 三上悠亚人妻中文字幕在线 | 久久久国产精品无码免费专区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久精品一区二区三区四区 | 久久久国产精品无码免费专区 | 国产精品久久久久久亚洲毛片 | 伊人久久大香线蕉av一区二区 | 亚洲色大成网站www国产 | 日韩精品无码一区二区中文字幕 | 欧美成人家庭影院 | 夫妻免费无码v看片 | 日本一卡二卡不卡视频查询 | 国产精品亚洲综合色区韩国 | 宝宝好涨水快流出来免费视频 | 亚洲色无码一区二区三区 | 免费人成在线观看网站 | 日本精品少妇一区二区三区 | 国产真实伦对白全集 | a片在线免费观看 | 国产成人午夜福利在线播放 | 国产成人精品视频ⅴa片软件竹菊 | 成人av无码一区二区三区 | 国产精品香蕉在线观看 | 国产精品久久久久影院嫩草 | 精品久久久久久人妻无码中文字幕 | 日本大香伊一区二区三区 | 在线a亚洲视频播放在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 少妇人妻大乳在线视频 | 亚洲男人av香蕉爽爽爽爽 | 欧美 亚洲 国产 另类 | 国产真实伦对白全集 | 精品人妻人人做人人爽 | 丰腴饱满的极品熟妇 | 国产国产精品人在线视 | 99久久人妻精品免费二区 | 精品一区二区三区波多野结衣 | 综合激情五月综合激情五月激情1 | 亚洲人成人无码网www国产 | 亚洲精品成a人在线观看 | 天天摸天天碰天天添 | 亚洲欧美精品aaaaaa片 | 特大黑人娇小亚洲女 | 学生妹亚洲一区二区 | 久久综合网欧美色妞网 | 国产成人精品一区二区在线小狼 | av香港经典三级级 在线 | 欧美老妇与禽交 | 美女黄网站人色视频免费国产 | 99国产精品白浆在线观看免费 | 国产精品国产三级国产专播 | 欧美老熟妇乱xxxxx | 天天拍夜夜添久久精品 | 欧美日韩人成综合在线播放 | 国产精品久久精品三级 | 成在人线av无码免观看麻豆 | 亚洲成色在线综合网站 | 精品国产青草久久久久福利 | 日本乱人伦片中文三区 | 人妻少妇精品无码专区动漫 | 久久精品国产一区二区三区肥胖 | 在线播放无码字幕亚洲 | 沈阳熟女露脸对白视频 | 欧美熟妇另类久久久久久多毛 | 无码人妻精品一区二区三区不卡 | 又大又硬又爽免费视频 | 极品尤物被啪到呻吟喷水 | 欧美一区二区三区视频在线观看 | 男女作爱免费网站 | 国产内射老熟女aaaa | 丰腴饱满的极品熟妇 | 最近中文2019字幕第二页 | 久久天天躁狠狠躁夜夜免费观看 | av香港经典三级级 在线 | 久久久久se色偷偷亚洲精品av | 国产在线一区二区三区四区五区 | 国産精品久久久久久久 | 精品国产一区二区三区av 性色 | 亚洲精品一区二区三区大桥未久 | 国产婷婷色一区二区三区在线 | 国产一区二区三区日韩精品 | 国产女主播喷水视频在线观看 | 亚洲精品国产品国语在线观看 | 亚洲成av人片在线观看无码不卡 | 亚洲精品午夜国产va久久成人 | 东京无码熟妇人妻av在线网址 | 国产av一区二区三区最新精品 | 亚洲无人区午夜福利码高清完整版 | 人人澡人人妻人人爽人人蜜桃 | 精品偷拍一区二区三区在线看 | 日韩视频 中文字幕 视频一区 | 精品久久久中文字幕人妻 | 色婷婷欧美在线播放内射 | 欧美老妇交乱视频在线观看 | 性色欲情网站iwww九文堂 | 西西人体www44rt大胆高清 | 色偷偷人人澡人人爽人人模 | 在线a亚洲视频播放在线观看 | 内射爽无广熟女亚洲 | 精品一区二区三区无码免费视频 | 欧美激情内射喷水高潮 | 色爱情人网站 | 欧美喷潮久久久xxxxx | 亚洲日本va午夜在线电影 | 欧美日韩一区二区三区自拍 | 久久这里只有精品视频9 | 国产一区二区三区影院 | 国产av无码专区亚洲a∨毛片 | 午夜性刺激在线视频免费 | 亚洲中文字幕无码中文字在线 | 东京热无码av男人的天堂 | 色综合久久久无码网中文 | 中文字幕久久久久人妻 | 国产午夜无码视频在线观看 | 亚洲综合伊人久久大杳蕉 | 久久精品99久久香蕉国产色戒 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲精品成人福利网站 | 欧美精品无码一区二区三区 | 377p欧洲日本亚洲大胆 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲国产精品无码一区二区三区 | 久久久久人妻一区精品色欧美 | 成人一在线视频日韩国产 | 牲欲强的熟妇农村老妇女视频 | 国产精品久久久久久亚洲影视内衣 | 亚洲精品国偷拍自产在线观看蜜桃 | 性色欲网站人妻丰满中文久久不卡 | 国产无套粉嫩白浆在线 | 欧美日本免费一区二区三区 | 欧美xxxxx精品 | 色欲人妻aaaaaaa无码 | 东京一本一道一二三区 | 国产真人无遮挡作爱免费视频 | 综合网日日天干夜夜久久 | 十八禁视频网站在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 性欧美大战久久久久久久 | 熟妇激情内射com | 小鲜肉自慰网站xnxx | 久久成人a毛片免费观看网站 | 麻豆精产国品 | 久久久久av无码免费网 | 国产亚洲精品久久久久久久 | 国产人妻人伦精品1国产丝袜 | 色一情一乱一伦 | 人人妻人人澡人人爽欧美精品 | 国产精品二区一区二区aⅴ污介绍 | 久久午夜无码鲁丝片秋霞 | 国产精品-区区久久久狼 | 国産精品久久久久久久 | 日本护士xxxxhd少妇 | 久久久久久久人妻无码中文字幕爆 | 2020久久超碰国产精品最新 | 日日橹狠狠爱欧美视频 | 乱人伦中文视频在线观看 | 久久精品国产一区二区三区肥胖 | 国产偷国产偷精品高清尤物 | 免费网站看v片在线18禁无码 | 高潮喷水的毛片 | 婷婷六月久久综合丁香 | 国产口爆吞精在线视频 | 中文字幕av伊人av无码av | 3d动漫精品啪啪一区二区中 | 国产精品99爱免费视频 | 无码纯肉视频在线观看 | 少妇人妻av毛片在线看 | 男女下面进入的视频免费午夜 | 精品人妻中文字幕有码在线 | 精品一区二区三区波多野结衣 | 亚洲成a人片在线观看日本 | 无码中文字幕色专区 | 日本乱偷人妻中文字幕 | 日产国产精品亚洲系列 | 人人澡人人透人人爽 | 奇米影视7777久久精品人人爽 | 日日麻批免费40分钟无码 | 日产国产精品亚洲系列 | 亚洲精品成a人在线观看 | 国产精品怡红院永久免费 | 亚洲国产成人av在线观看 | 亚洲精品一区二区三区在线观看 | 欧美性生交xxxxx久久久 | 国产无套内射久久久国产 | 久久久久久国产精品无码下载 | 国产亚洲美女精品久久久2020 | 99久久精品午夜一区二区 | 1000部啪啪未满十八勿入下载 | 日本一区二区三区免费高清 | 沈阳熟女露脸对白视频 | 性色av无码免费一区二区三区 | 久久精品国产精品国产精品污 | 亚洲成熟女人毛毛耸耸多 | 老司机亚洲精品影院无码 | 内射爽无广熟女亚洲 | 精品乱子伦一区二区三区 | 四虎影视成人永久免费观看视频 | 野外少妇愉情中文字幕 | 乱码av麻豆丝袜熟女系列 | 男人的天堂2018无码 | 狠狠色丁香久久婷婷综合五月 | 成人一区二区免费视频 | 国产av无码专区亚洲a∨毛片 | 男人的天堂av网站 | 又色又爽又黄的美女裸体网站 | 欧美阿v高清资源不卡在线播放 | 免费国产黄网站在线观看 | 无码毛片视频一区二区本码 | 男女性色大片免费网站 | 麻豆国产97在线 | 欧洲 | 国产成人人人97超碰超爽8 | 精品国产成人一区二区三区 | 东京一本一道一二三区 | 激情内射亚州一区二区三区爱妻 | 国产成人无码午夜视频在线观看 | 人人妻在人人 | 婷婷丁香五月天综合东京热 | 精品欧美一区二区三区久久久 | 无码人妻黑人中文字幕 | √天堂中文官网8在线 | 奇米影视7777久久精品人人爽 | 久久久久久九九精品久 | 亚洲国产欧美国产综合一区 | 天天躁日日躁狠狠躁免费麻豆 | av在线亚洲欧洲日产一区二区 | 蜜桃视频插满18在线观看 | 中国大陆精品视频xxxx | 亚洲国产精品一区二区第一页 | 亚洲码国产精品高潮在线 | 麻豆国产人妻欲求不满 | 在线精品亚洲一区二区 | 国精品人妻无码一区二区三区蜜柚 | 色五月丁香五月综合五月 | 97人妻精品一区二区三区 | 国产69精品久久久久app下载 | 国产精品久久国产精品99 | 国产熟妇高潮叫床视频播放 | 无遮挡国产高潮视频免费观看 | 无码福利日韩神码福利片 | 露脸叫床粗话东北少妇 | 内射后入在线观看一区 | 国内老熟妇对白xxxxhd | 我要看www免费看插插视频 | 奇米影视7777久久精品人人爽 | 亚洲日韩中文字幕在线播放 | 天下第一社区视频www日本 | 亚洲爆乳精品无码一区二区三区 | 久久亚洲国产成人精品性色 | 亚洲综合在线一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 无码播放一区二区三区 | 无码人妻av免费一区二区三区 | 国产女主播喷水视频在线观看 | 日本在线高清不卡免费播放 | 国产av剧情md精品麻豆 | 国产成人综合美国十次 | 极品尤物被啪到呻吟喷水 | 青春草在线视频免费观看 | 国产69精品久久久久app下载 | 377p欧洲日本亚洲大胆 | 无码福利日韩神码福利片 | 国产精品igao视频网 | 欧美 亚洲 国产 另类 | 国产激情艳情在线看视频 | 免费中文字幕日韩欧美 | 男女超爽视频免费播放 | 亚洲人成影院在线无码按摩店 | 天堂а√在线中文在线 | 国产精品18久久久久久麻辣 | 日日摸天天摸爽爽狠狠97 | 在线成人www免费观看视频 |