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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android mmkv使用_[Android]高性能MMKV数据交互分析-MMKV初始化

發(fā)布時(shí)間:2023/12/20 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android mmkv使用_[Android]高性能MMKV数据交互分析-MMKV初始化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家好,我系蒼王。

以下是我這個(gè)系列的相關(guān)文章,有興趣可以參考一下,可以給個(gè)喜歡或者關(guān)注我的文章。

Android組件化架構(gòu)熱賣中

組件化群1已經(jīng)滿員,進(jìn)來的可以加群2 763094035

MMKV框架初始化

MMKV.initialize(this);

public static String initialize(Context context) {

//創(chuàng)建存儲(chǔ)目錄

rootDir = context.getFilesDir().getAbsolutePath() + "/mmkv";

initialize(rootDir);

return rootDir;

}

private static native void initialize(String var0);

之后是調(diào)用jni中的操作了

extern "C" JNIEXPORT JNICALL void

Java_com_tencent_mmkv_MMKV_initialize(JNIEnv *env, jobject obj, jstring rootDir) {

//c++中大于0和非空都是為真

if (!rootDir) {

return;

}

//string轉(zhuǎn)為char*

const char *kstr = env->GetStringUTFChars(rootDir, nullptr);

if (kstr) {

MMKV::initializeMMKV(kstr);

//初始化完后釋放kstr

env->ReleaseStringUTFChars(rootDir, kstr);

}

}

MMKV初始化,

pthread_once()函數(shù)詳解

在多線程環(huán)境中,有些事僅需要執(zhí)行一次。通常當(dāng)初始化應(yīng)用程序時(shí),可以比較容易地將其放在main函數(shù)中。但當(dāng)你寫一個(gè)庫時(shí),就不能在main里面初始化了,你可以用靜態(tài)初始化,但使用一次初始化(pthread_once)會(huì)比較容易些。

int pthread_once(pthread_once_t once_control, void (init_routine) (void));

功能:本函數(shù)使用初值為PTHREAD_ONCE_INIT的once_control變量保證init_routine()函數(shù)在本進(jìn)程執(zhí)行序列中僅執(zhí)行一次。

在多線程編程環(huán)境下,盡管pthread_once()調(diào)用會(huì)出現(xiàn)在多個(gè)線程中,init_routine()函數(shù)僅執(zhí)行一次,究竟在哪個(gè)線程中執(zhí)行是不定的,是由內(nèi)核調(diào)度來決定。

那么initialize方法只會(huì)執(zhí)行一次。

void MMKV::initializeMMKV(const std::string &rootDir) {

//進(jìn)程控制

static pthread_once_t once_control = PTHREAD_ONCE_INIT;

//進(jìn)程中只執(zhí)行一次initialize

pthread_once(&once_control, initialize);

//保存文件地址

g_rootDir = rootDir;

//strdup字符串拷貝

//c_str()函數(shù)返回一個(gè)指向正規(guī)C字符串的指針, 內(nèi)容與本string串相同.這是為了與c語言兼容,在c語言中沒有string類型,故必須通過string類對(duì)象的成員函數(shù)c_str()把string 對(duì)象轉(zhuǎn)換成c中的字符串樣式。注意:一定要使用strcpy()函數(shù) 等來操作方法c_str()返回的指針

//需要分配空間的

char *path = strdup(g_rootDir.c_str());

//創(chuàng)建MmapedFile

mkPath(path);

//清除地址空間

free(path);

MMKVInfo("root dir: %s", g_rootDir.c_str());

}

void initialize() {

//建立哈希表

// 使用unordered_map優(yōu)點(diǎn)因?yàn)閮?nèi)部實(shí)現(xiàn)了哈希表,因此其查找速度非常的快 ,缺點(diǎn)哈希表的建立比較耗費(fèi)時(shí)間

g_instanceDic = new unordered_map<:string mmkv>;

//初始化線程鎖

g_instanceLock = ThreadLock();

//testAESCrypt();

MMKVInfo("page size:%d", DEFAULT_MMAP_SIZE);

}

//使用getpagesize函數(shù)獲得一頁內(nèi)存大小

//系統(tǒng)給我們提供真正的內(nèi)存時(shí),用頁為單位提供,一次最少提供一頁的真實(shí)內(nèi)存空間

//分配內(nèi)存空間:你真實(shí)的分配了多少內(nèi)存,就使用多少內(nèi)存,不要越界使用

//但是系統(tǒng)提供的真實(shí)內(nèi)存空間是以頁來提供的。

const int DEFAULT_MMAP_SIZE = getpagesize();

創(chuàng)建保存的文件夾,遍歷地址名,然后循環(huán)創(chuàng)建

bool mkPath(char *path) {

//文件(夾)信息結(jié)構(gòu)體

struct stat sb = {};

bool done = false;

char *slash = path;

while (!done) {

//拿出文件夾名

slash += strspn(slash, "/");

slash += strcspn(slash, "/");

//遍歷到最尾部

done = (*slash == '\0');

*slash = '\0';

//如果文件夾不為空

if (stat(path, &sb) != 0) {

//創(chuàng)建文件夾

if (errno != ENOENT || mkdir(path, 0777) != 0) {

MMKVWarning("%s", path);

return false;

}

} else if (!S_ISDIR(sb.st_mode)) { //如果不是文件夾,拋錯(cuò)誤

MMKVWarning("%s: %s", path, strerror(ENOTDIR));

return false;

}

*slash = '/';

}

return true;

}

保存文件初始化

//需要填寫mmapId,線程(單線程,多線程),加密密鑰

MMKV.mmkvWithID(mmapID, MMKV.SINGLE_PROCESS_MODE, cryptKey);

public static MMKV mmkvWithID(String mmapID, int mode, String cryptKey) {

if(rootDir == null) { //如果主目錄未初始化拋出異常

throw new IllegalStateException("You should Call MMKV.initialize() first.");

} else {

//id 不能超過46個(gè)字節(jié)

verifyMMID(mmapID);

創(chuàng)立出jni中分配的ID

long handle = getMMKVWithID(mmapID, mode, cryptKey);

return new MMKV(handle);

}

}

//mmkv的id是long類型

private static native long getMMKVWithID(String var0, int var1, String var2);

extern "C" JNIEXPORT JNICALL jlong Java_com_tencent_mmkv_MMKV_getMMKVWithID(

JNIEnv *env, jobject obj, jstring mmapID, jint mode, jstring cryptKey) {

MMKV *kv = nullptr; //初始化為空指針

if (!mmapID) { //如果為空,直接返回空指針

return (jlong) kv;

}

string str = jstring2string(env, mmapID); //格式化mmapId

if (cryptKey != nullptr) {

string crypt = jstring2string(env, cryptKey); //格式化密鑰

if (crypt.length() > 0) {

//創(chuàng)建文件,大小為一頁,和加密密鑰

kv = MMKV::mmkvWithID(str, DEFAULT_MMAP_SIZE, (MMKVMode) mode, &crypt);

}

}

if (!kv) { //如果創(chuàng)建失敗,重新創(chuàng)建一個(gè)不加密的文件

kv = MMKV::mmkvWithID(str, DEFAULT_MMAP_SIZE, (MMKVMode) mode, nullptr);

}

return (jlong) kv;

}

MMKV *MMKV::mmkvWithID(const std::string &mmapID, int size, MMKVMode mode, string *cryptKey) {

//如果mmapId為空范圍空指針

if (mmapID.empty()) {

return nullptr;

}

//設(shè)定單例鎖

SCOPEDLOCK(g_instanceLock);

//在記錄文件的map中找mampID,對(duì)應(yīng)的mapFile文件

auto itr = g_instanceDic->find(mmapID);

//返回結(jié)束位置胡迭代器

//如果已經(jīng)存在

if (itr != g_instanceDic->end()) {

//返回現(xiàn)在對(duì)應(yīng)mmkv

MMKV *kv = itr->second;

return kv;

}

//新建一個(gè)mmkv

auto kv = new MMKV(mmapID, size, mode, cryptKey);

//保存到map中

(*g_instanceDic)[mmapID] = kv;

return kv;

}

創(chuàng)建MMKV 初始化

MMKV::MMKV(const std::string &mmapID, int size, MMKVMode mode, string *cryptKey)

: m_mmapID(mmapID)

, m_path(mappedKVPathWithID(m_mmapID, mode)) //構(gòu)建mmkv文件地址

, m_crcPath(crcPathWithID(m_mmapID, mode)) //crc文件

, m_metaFile(m_crcPath, DEFAULT_MMAP_SIZE, (mode & MMKV_ASHMEM) ? MMAP_ASHMEM : MMAP_FILE) //初始化MmapedFile

, m_crypter(nullptr) //加密器

, m_fileLock(m_metaFile.getFd()) //文件鎖

, m_sharedProcessLock(&m_fileLock, SharedLockType) //進(jìn)程鎖

, m_exclusiveProcessLock(&m_fileLock, ExclusiveLockType) //專用進(jìn)程鎖

, m_isInterProcess((mode & MMKV_MULTI_PROCESS) != 0) //是否多進(jìn)程

, m_isAshmem((mode & MMKV_ASHMEM) != 0) { //是否開啟共享內(nèi)存

m_fd = -1;

m_ptr = nullptr;

m_size = 0;

m_actualSize = 0;

m_output = nullptr;

if (m_isAshmem) { //如果需要共享內(nèi)存,需要使用創(chuàng)建共享共享內(nèi)存的MmapedFile

m_ashmemFile = new MmapedFile(m_mmapID, static_cast(size), MMAP_ASHMEM);

//讀取匿名內(nèi)存的文件fd地址

m_fd = m_ashmemFile->getFd();

} else {

m_ashmemFile = nullptr;

}

if (cryptKey && cryptKey->length() > 0) { //是否存在加密密鑰,存在則創(chuàng)建AES加密器

m_crypter = new AESCrypt((const unsigned char *) cryptKey->data(), cryptKey->length());

}

//是否直接沖文件加載

m_needLoadFromFile = true;

m_crcDigest = 0;

//是否開啟進(jìn)程鎖

m_sharedProcessLock.m_enable = m_isInterProcess;

//是否開啟專用進(jìn)程鎖

m_exclusiveProcessLock.m_enable = m_isInterProcess;

// sensitive zone

{

//單例鎖

SCOPEDLOCK(m_sharedProcessLock);

loadFromFile();

}

}

讀取文件

void MMKV::loadFromFile() {

if (m_isAshmem) { //是否使用匿名內(nèi)存,是則初始化匿名內(nèi)存

loadFromAshmem();

return;

}

m_metaInfo.read(m_metaFile.getMemory());

//打開文件,m_fd文件描述符

m_fd = open(m_path.c_str(), O_RDWR | O_CREAT, S_IRWXU);

if (m_fd < 0) { //文件不存在

MMKVError("fail to open:%s, %s", m_path.c_str(), strerror(errno));

} else {

m_size = 0;

struct stat st = {0};

if (fstat(m_fd, &st) != -1) { //文件狀態(tài)是否可讀

m_size = static_cast(st.st_size);

}

// round up to (n * pagesize)

if (m_size < DEFAULT_MMAP_SIZE || (m_size % DEFAULT_MMAP_SIZE != 0)) { //文件大小有內(nèi)容,且小于1頁

size_t oldSize = m_size;

m_size = ((m_size / DEFAULT_MMAP_SIZE) + 1) * DEFAULT_MMAP_SIZE;

if (ftruncate(m_fd, m_size) != 0) { //指定文件大小輸出是否可行

MMKVError("fail to truncate [%s] to size %zu, %s", m_mmapID.c_str(), m_size,

strerror(errno));

m_size = static_cast(st.st_size);

}

zeroFillFile(m_fd, oldSize, m_size - oldSize); //清空文件

}

//將文件映射到內(nèi)存

m_ptr = (char *) mmap(nullptr, m_size, PROT_READ | PROT_WRITE, MAP_SHARED, m_fd, 0);

//之后操作和匿名內(nèi)存中操作相同

if (m_ptr == MAP_FAILED) {

MMKVError("fail to mmap [%s], %s", m_mmapID.c_str(), strerror(errno));

} else {

memcpy(&m_actualSize, m_ptr, Fixed32Size);

MMKVInfo("loading [%s] with %zu size in total, file size is %zu", m_mmapID.c_str(),

m_actualSize, m_size);

bool loaded = false;

if (m_actualSize > 0) {

if (m_actualSize < m_size && m_actualSize + Fixed32Size <= m_size) {

if (checkFileCRCValid()) {

MMKVInfo("loading [%s] with crc %u sequence %u", m_mmapID.c_str(),

m_metaInfo.m_crcDigest, m_metaInfo.m_sequence);

MMBuffer inputBuffer(m_ptr + Fixed32Size, m_actualSize, MMBufferNoCopy);

if (m_crypter) {

decryptBuffer(*m_crypter, inputBuffer);

}

//初始化Photobuf存儲(chǔ)結(jié)構(gòu)orderedMap

m_dic = MiniPBCoder::decodeMap(inputBuffer);

m_output = new CodedOutputData(m_ptr + Fixed32Size + m_actualSize,

m_size - Fixed32Size - m_actualSize);

loaded = true;

}

}

}

if (!loaded) {

SCOPEDLOCK(m_exclusiveProcessLock);

if (m_actualSize > 0) {

writeAcutalSize(0);

}

m_output = new CodedOutputData(m_ptr + Fixed32Size, m_size - Fixed32Size);

recaculateCRCDigest();

}

MMKVInfo("loaded [%s] with %zu values", m_mmapID.c_str(), m_dic.size());

}

}

if (!isFileValid()) {

MMKVWarning("[%s] file not valid", m_mmapID.c_str());

}

m_needLoadFromFile = false;

}

讀取匿名內(nèi)存

void MMKV::loadFromAshmem() {

//復(fù)制MmapedFile的段地址

m_metaInfo.read(m_metaFile.getMemory());

//如果匿名內(nèi)存存在且匿名內(nèi)存文件為真

if (m_fd < 0 || !m_ashmemFile) {

MMKVError("ashmem file invalid %s, fd:%d", m_path.c_str(), m_fd);

} else {

//讀取匿名內(nèi)存文件大小

m_size = m_ashmemFile->getFileSize();

//讀取匿名內(nèi)存起始地址

m_ptr = (char *) m_ashmemFile->getMemory();

if (m_ptr != MAP_FAILED) { //如果地址存在

//復(fù)制匿名內(nèi)存出來

memcpy(&m_actualSize, m_ptr, Fixed32Size);

MMKVInfo("loading [%s] with %zu size in total, file size is %zu", m_mmapID.c_str(),

m_actualSize, m_size);

bool loaded = false;

if (m_actualSize > 0) {

if (m_actualSize < m_size && m_actualSize + Fixed32Size <= m_size) {

if (checkFileCRCValid()) {//檢查m_ptr和m_size都設(shè)置了

MMKVInfo("loading [%s] with crc %u sequence %u", m_mmapID.c_str(),

m_metaInfo.m_crcDigest, m_metaInfo.m_sequence);

//創(chuàng)造MMBuffer數(shù)據(jù)

MMBuffer inputBuffer(m_ptr + Fixed32Size, m_actualSize, MMBufferNoCopy);

if (m_crypter) { //如果加密,解密MMBuffer數(shù)據(jù)

decryptBuffer(*m_crypter, inputBuffer);

}

//

m_dic = MiniPBCoder::decodeMap(inputBuffer);

m_output = new CodedOutputData(m_ptr + Fixed32Size + m_actualSize,

m_size - Fixed32Size - m_actualSize);

//標(biāo)志已經(jīng)讀取成功

loaded = true;

}

}

}

if (!loaded) {

//使用范圍鎖

SCOPEDLOCK(m_exclusiveProcessLock);

if (m_actualSize > 0) {

writeAcutalSize(0);

}

//輸出流

m_output = new CodedOutputData(m_ptr + Fixed32Size, m_size - Fixed32Size);

//重新計(jì)算crc校驗(yàn)

recaculateCRCDigest();

}

MMKVInfo("loaded [%s] with %zu values", m_mmapID.c_str(), m_dic.size());

}

}

if (!isFileValid()) {

MMKVWarning("[%s] ashmem not valid", m_mmapID.c_str());

}

m_needLoadFromFile = false;

}

說明一下存儲(chǔ)文件的創(chuàng)建(分為文件和共享內(nèi)存)

MmapedFile::MmapedFile(const std::string &path, size_t size, bool fileType)

: m_name(path), m_fd(-1), m_segmentPtr(nullptr), m_segmentSize(0), m_fileType(fileType) {

if (m_fileType == MMAP_FILE) { //文件創(chuàng)建

//創(chuàng)建一個(gè)文件

m_fd = open(m_name.c_str(), O_RDWR | O_CREAT, S_IRWXU);

if (m_fd < 0) {

MMKVError("fail to open:%s, %s", m_name.c_str(), strerror(errno));

} else {

//文件屬性的訪問

struct stat st = {};

if (fstat(m_fd, &st) != -1) {

m_segmentSize = static_cast(st.st_size);

}

if (m_segmentSize < DEFAULT_MMAP_SIZE) {

m_segmentSize = static_cast(DEFAULT_MMAP_SIZE);

if (ftruncate(m_fd, m_segmentSize) != 0 || !zeroFillFile(m_fd, 0, m_segmentSize)) {

MMKVError("fail to truncate [%s] to size %zu, %s", m_name.c_str(),

m_segmentSize, strerror(errno));

close(m_fd);

m_fd = -1;

removeFile(m_name);

return;

}

}

m_segmentPtr =

(char *) mmap(nullptr, m_segmentSize, PROT_READ | PROT_WRITE, MAP_SHARED, m_fd, 0);

if (m_segmentPtr == MAP_FAILED) {

MMKVError("fail to mmap [%s], %s", m_name.c_str(), strerror(errno));

close(m_fd);

m_fd = -1;

m_segmentPtr = nullptr;

}

}

} else {

//共享內(nèi)存創(chuàng)建 #define ASHMEM_NAME_DEF "/dev/ashmem"

m_fd = open(ASHMEM_NAME_DEF, O_RDWR);

if (m_fd < 0) { //創(chuàng)建失敗

MMKVError("fail to open ashmem:%s, %s", m_name.c_str(), strerror(errno));

} else {

if (ioctl(m_fd, ASHMEM_SET_NAME, m_name.c_str()) != 0) { //內(nèi)存訪問io控制

MMKVError("fail to set ashmem name:%s, %s", m_name.c_str(), strerror(errno));

} else if (ioctl(m_fd, ASHMEM_SET_SIZE, size) != 0) {

MMKVError("fail to set ashmem:%s, size %d, %s", m_name.c_str(), size,

strerror(errno));

} else { //訪問成功

//獲取頁長(zhǎng)度

m_segmentSize = static_cast(size);

//獲取頁指針

m_segmentPtr = (char *) mmap(nullptr, m_segmentSize, PROT_READ | PROT_WRITE,

MAP_SHARED, m_fd, 0);

if (m_segmentPtr == MAP_FAILED) {

MMKVError("fail to mmap [%s], %s", m_name.c_str(), strerror(errno));

m_segmentPtr = nullptr;

} else {

return;

}

}

close(m_fd);

m_fd = -1;

}

}

}

MMKV初始化內(nèi)容

總結(jié)

以上是生活随笔為你收集整理的android mmkv使用_[Android]高性能MMKV数据交互分析-MMKV初始化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲h视频在线 | 在线观看你懂的网站 | 夜夜爽天天爽 | 在线 成人 | 成人免费在线播放视频 | 久久久久免费精品视频 | 日韩精品一区二区在线视频 | 亚洲欧美国产精品久久久久 | 免费在线观看中文字幕 | 中文字幕资源网 国产 | 久久99热这里只有精品 | 国产成人在线看 | 亚洲九九爱 | 在线观看视频你懂得 | 欧美精品久久久久a | 黄毛片在线观看 | 色姑娘综合网 | 91网页版在线观看 | 免费网站在线观看人 | 亚洲午夜激情网 | 久久久久久国产精品999 | 日韩毛片在线免费观看 | 欧美在线视频日韩 | 综合久久久久 | 日日干天天爽 | 亚洲精品在线免费观看视频 | 中文字幕乱码视频 | 在线观看免费一区 | 国产精品免费观看网站 | 天天综合人人 | 国产一级在线 | 日韩激情第一页 | 色婷婷国产 | 国产中文字幕一区二区三区 | 国产精品免费人成网站 | 99精品在线观看视频 | 国产视频美女 | 91精品啪在线观看国产81旧版 | 色88久久| 色综合久久悠悠 | 国产精品免费大片视频 | 99久久国产免费看 | 亚洲精品视频在线观看网站 | 成人高清在线 | 精品国产乱码久久久久久1区二区 | 天天干天天搞天天射 | 久久久高清免费视频 | 五月婷婷久草 | 亚洲91视频 | 中文国产字幕 | 日韩欧美精品在线 | 99成人在线视频 | 久久久久这里只有精品 | 丁香九月激情 | 亚洲综合激情小说 | 9797在线看片亚洲精品 | 免费a网 | 欧美日在线观看 | 免费观看国产精品视频 | 国产一区精品在线观看 | 激情影音先锋 | 国产精品亚州 | 奇米7777狠狠狠琪琪视频 | 97超碰精品 | 天天操天天干天天操天天干 | 精品久久久久久久久中文字幕 | 四虎最新域名 | 国产一在线精品一区在线观看 | 精品v亚洲v欧美v高清v | 国产经典三级 | 久久久精品二区 | 玖草在线观看 | 国产亚洲va综合人人澡精品 | 国产成人精品一区二区三区网站观看 | 超碰人人乐| 久久久久久蜜av免费网站 | 国产麻豆精品久久 | 日韩三级在线观看 | 国产黄色片网站 | 日韩欧美精品一区二区三区经典 | 精品一区二区三区四区在线 | 中文字幕在线国产 | 国产 日韩 欧美 在线 | 日韩在线视频免费播放 | 国产精品自产拍在线观看中文 | 久久久久久久久久久久久久av | 免费一级片在线 | 欧美高清成人 | 免费观看久久久 | 成人免费一级片 | 中文国产成人精品久久一 | 成年人免费在线看 | 日韩成人av在线 | 久久精品高清 | 成人免费av电影 | 欧美精品久久久久久久久久久 | 国产精品二区在线 | 国产成人精品一区一区一区 | 玖草在线观看 | 伊人开心激情 | 91九色自拍| 毛片网站在线看 | 久久久 激情 | 在线免费观看国产黄色 | 美女免费黄视频网站 | 麻豆综合网| 国产在线色站 | 免费av黄色| adn—256中文在线观看 | 日韩高清免费观看 | 91在线亚洲 | 美女黄网久久 | 黄色电影在线免费观看 | 婷婷九月丁香 | 日本公妇在线观看高清 | 色九九在线 | 视频高清 | av网站地址| 99在线视频观看 | 91亚洲精品国偷拍自产在线观看 | 成人网页在线免费观看 | 懂色av一区二区在线播放 | 午夜视频在线观看一区二区三区 | 黄色不卡av | 天天干,夜夜操 | 欧美另类v | 国产99久久久国产 | 视频一区在线播放 | 久日精品 | 亚洲理论视频 | 中文字幕在线观看播放 | 久久久免费观看完整版 | 亚洲天天综合网 | 欧美一级专区免费大片 | 91视频 - v11av | 亚洲天天看 | 97视频免费在线看 | 久青草视频在线观看 | 一区精品久久 | www婷婷 | 久久超级碰视频 | 国产不卡在线看 | 免费a级大片 | 黄色软件视频大全免费下载 | 人人草人人做 | 久久人人爽爽人人爽人人片av | 精品视频久久久久久 | av福利第一导航 | 亚洲一级黄色大片 | 亚洲综合激情五月 | 色视频 在线 | 日韩精品一区二区在线视频 | 中文国产在线观看 | 成人在线观看你懂的 | 久久久福利影院 | 欧美日韩另类在线观看 | 日日夜夜噜 | 三级在线视频观看 | av中文字幕网站 | 18av在线视频| 欧美亚洲国产一卡 | a视频在线观看免费 | 亚洲国产手机在线 | 日韩成人精品一区二区三区 | 最新成人av | 天海冀一区二区三区 | 这里只有精彩视频 | 最新成人av| 欧美 亚洲 另类 激情 另类 | 亚洲91视频| 免费一级片在线观看 | 人人草网站 | 久草在线免费色站 | 亚洲成人xxx| 色就色,综合激情 | 午夜精品一区二区三区可下载 | 日韩久久久久 | 天天操综| 激情欧美一区二区三区 | 五月天六月丁香 | 2019中文字幕第一页 | 亚洲一级片在线观看 | 色综合天天综合网国产成人网 | 91精品电影 | 亚洲综合导航 | 欧美一二在线 | 久久国产一区二区三区 | 五月天综合婷婷 | 国产成人一区三区 | 韩国av一区二区三区在线观看 | 97在线视| 成人免费观看在线视频 | 四虎国产精品成人免费4hu | 91在线精品一区二区 | www.久久婷婷 | 美女久久久久久久 | 免费成人av在线看 | 精品久久久久久电影 | 亚洲国产精品免费 | 黄色三级网站 | 精品999| 黄色一级大片在线免费看国产一 | 国产精品视频全国免费观看 | 国产第一页福利影院 | 亚洲最大在线视频 | 日韩1级片 | 美女网站一区 | 在线电影 一区 | 国产精品综合久久久 | 国产午夜三级一区二区三桃花影视 | 日韩av片免费在线观看 | 久久精品一区二区三区中文字幕 | 国产激情小视频在线观看 | 五月天亚洲综合小说网 | 国产黄色片一级三级 | 国产黄色免费电影 | 五月天婷婷免费视频 | 久久艹在线 | 美女视频黄是免费的 | 狠狠的操你 | 日本中文字幕免费观看 | 99热精品久久 | 999男人的天堂 | 欧美日韩啪啪 | 天天av资源 | 一区二区三区高清在线 | 在线国产欧美 | 国产精品黄网站在线观看 | 久久国产网 | 国产精彩视频一区二区 | 视频国产精品 | 欧美一区二区三区在线看 | 免费av免费观看 | 亚洲成人家庭影院 | 亚洲年轻女教师毛茸茸 | 在线国产精品一区 | 欧美日韩精品在线视频 | 在线看av网址 | 91精品视频网站 | 国产九色在线播放九色 | 国产精品视频全国免费观看 | 在线观看一级视频 | 日韩特黄av | 97在线成人 | 天天操天天添天天吹 | 不卡av免费在线观看 | 国产手机免费视频 | 美腿丝袜一区二区三区 | 五月天电影免费在线观看一区 | 97国产在线观看 | 麻豆视频免费网站 | aaa毛片视频 | 免费av大片 | 最近中文字幕完整视频高清1 | 国产中文在线视频 | 伊人电影在线观看 | 中文字幕高清视频 | 亚洲毛片一区二区三区 | 亚洲美女在线国产 | 国产精品黑丝在线观看 | 欧美日韩中文在线观看 | av在线8 | 九九热精品视频在线观看 | 色综合久久88色综合天天 | 香蕉久久久久久久 | av黄网站 | 中文日韩在线视频 | 久久综合五月天婷婷伊人 | 久久久免费电影 | 99久久网站 | 久草热久草视频 | 久久www免费人成看片高清 | 97超级碰 | 久久综合之合合综合久久 | 国产午夜视频在线观看 | 中文字幕在线成人 | 在线观看福利网站 | 天天草av| а中文在线天堂 | 国产精品免费成人 | 99欧美视频 | 精精国产xxxx视频在线播放 | 成人在线播放视频 | 精品久久视频 | 999在线精品 | 亚洲精品自拍视频在线观看 | 国产精品视频久久久 | 国产精品2019 | 一二三区视频在线 | 免费中文字幕在线观看 | 亚洲视频 中文字幕 | 色综合久久久久综合体 | 亚洲国产一区二区精品专区 | 91视频麻豆视频 | 亚洲成年人免费网站 | 久久精品成人欧美大片古装 | 久草在线视频在线观看 | 天天操偷偷干 | 国产精品久久久久久妇 | 九九九九热精品免费视频点播观看 | 精品亚洲网 | 黄色成人av网址 | 日韩欧美综合 | 国产成人综合图片 | 99免费视频 | 日韩在线视频网 | 天天干天天干天天干天天干天天干天天干 | 国产成人精品一区二区在线观看 | 国产又黄又爽无遮挡 | 久久午夜色播影院免费高清 | 国产亚洲一区二区在线观看 | 韩日av一区二区 | 视频国产区| 中文在线免费视频 | 国产偷在线| 免费a视频在线 | 亚洲黄色小说网 | 麻豆视频免费版 | 最近最新中文字幕视频 | 天天草天天摸 | 亚洲男人天堂a | 日本在线视频一区二区三区 | 欧美人人爱 | 国产精品一区专区欧美日韩 | 亚洲视频 在线观看 | 91影视成人 | 亚洲黄色软件 | 亚洲成aⅴ人片久久青草影院 | 婷婷色网站 | 国产黄色免费电影 | 欧美日韩精品影院 | 久久久久免费视频 | 国产精品亚洲视频 | 天天综合天天做天天综合 | 国产最新网站 | 奇米影视8888 | 9999在线 | 国产精品免费不卡 | 欧美日韩国产页 | 色婷婷综合久久久久 | 国产91勾搭技师精品 | 中文字幕av在线免费 | 国产在线观看中文字幕 | 最新日韩在线观看 | 亚洲美女免费精品视频在线观看 | 91精品国产三级a在线观看 | 久久久久久久久久久综合 | 在线免费成人 | 手机看片 | 丁香婷婷色综合亚洲电影 | 久久色网站 | 久久久久久免费网 | 亚洲精品影视在线观看 | 久免费 | 五月天综合婷婷 | 久久久久久久免费观看 | 久久精品艹| 免费成人结看片 | 日韩欧美一二三 | www.av免费 | 黄色成人免费电影 | 麻豆一二三精选视频 | av在线播放中文字幕 | 精品国产1区二区 | 欧美精品久久久久久久久久久 | av在线不卡观看 | 日韩av一区二区三区四区 | 国产精品麻豆三级一区视频 | 亚洲一区二区三区毛片 | 亚洲欧美国产日韩在线观看 | 91插插插免费视频 | 久久人人做| 91在线免费观看国产 | 月下香电影| 久久免费视频在线 | 欧美精品国产精品 | 99久久这里有精品 | 中文字幕电影高清在线观看 | 丁香激情五月婷婷 | 国产又粗又猛又爽又黄的视频先 | 国产剧情av在线播放 | 91精品国产成人观看 | 97在线精品国自产拍中文 | 黄色avwww | 亚洲精品www. | 人人爽夜夜爽 | 高清av网| 三级黄色免费 | 在线 日韩 av | 精品在线一区二区 | 国产精品高清在线 | 91漂亮少妇露脸在线播放 | 国产大陆亚洲精品国产 | 91人网站 | 韩国三级av在线 | 欧美激情操 | 东方av在线免费观看 | 深夜福利视频一区二区 | 国产 日韩 欧美 中文 在线播放 | 国产精品久久艹 | 亚洲激情视频 | 精品视频资源站 | 五月天.com| 久久 在线 | 免费成人av| 国产精品久久久久久久久婷婷 | 久久9精品 | 亚洲精品视频在线免费 | 欧美日韩一级久久久久久免费看 | 一本—道久久a久久精品蜜桃 | 天堂va欧美va亚洲va老司机 | a视频在线播放 | 四虎影视欧美 | 成人日批视频 | 亚洲精品午夜国产va久久成人 | 国产中年夫妇高潮精品视频 | 91超级碰 | 在线91播放| 亚洲一区精品人人爽人人躁 | 国产精品视频大全 | 日韩国产欧美在线视频 | 国产精品videossex国产高清 | 99国产一区二区三精品乱码 | 波多野结衣亚洲一区二区 | 亚洲精品美女久久 | 91九色在线 | 一级黄色av| 成人免费视频播放 | 国产精品99久久久久 | 狠狠狠色丁香综合久久天下网 | 久久综合狠狠综合久久综合88 | 日本午夜在线观看 | 高清色免费 | 久久精品99久久久久久2456 | 91亚洲永久精品 | 国产一区二区不卡视频 | www日韩高清| 最近中文字幕免费观看 | 成人电影毛片 | 激情文学综合丁香 | 超碰在线中文字幕 | 992tv在线观看 | 丁香六月天婷婷 | 久久久久久久影视 | 精品一二三区 | 一区二区三区四区五区在线 | 国产又粗又猛又色又黄网站 | 在线a视频免费观看 | 国产一卡二卡在线 | 天天操天天色天天射 | 欧美一区二区在线看 | 女人18片 | av电影免费在线看 | 亚洲一区二区三区四区在线视频 | 五月婷婷视频 | 亚洲成人资源网 | 麻豆免费精品视频 | 久久九九网站 | 午夜免费久久看 | 成人在线观看资源 | 日本老少交| 在线观看av不卡 | 亚洲成色777777在线观看影院 | 91高清视频| 中文字幕日韩免费视频 | 日韩欧美高清不卡 | 96久久欧美麻豆网站 | 超碰人人在 | 99久久精品免费看国产一区二区三区 | 伊人成人久久 | 天天操天天舔天天爽 | 久久国产精品免费观看 | 青青河边草免费观看完整版高清 | 日韩精品免费在线观看视频 | 成人九九视频 | 成人av动漫在线观看 | 在线观看视频在线 | 国产精品自产拍在线观看网站 | 黄色毛片电影 | 欧美午夜视频在线 | 久久激情视频 久久 | 日韩在线国产精品 | 九九久久成人 | 精品麻豆入口免费 | 久久久久久高潮国产精品视 | 91精品啪在线观看国产81旧版 | 天天色天天爱天天射综合 | 免费在线成人av电影 | 视频国产 | 波多野结衣综合网 | 人人看黄色 | 国产淫a| 精品欧美小视频在线观看 | 日韩精品一区二区在线 | 日韩啪视频 | 91人人爽久久涩噜噜噜 | 久久久www成人免费精品张筱雨 | 久久www免费视频 | 久久草草热国产精品直播 | 99九九99九九九视频精品 | 天天摸天天操天天舔 | 国产亚洲精品久久19p | a√资源在线 | 国产视频在线观看一区 | 亚洲三级影院 | 免费观看91| 欧美性大战 | 国产精品96久久久久久吹潮 | 久久成人久久 | 日韩亚洲国产精品 | 色综合久久精品 | 亚洲精品国产精品乱码在线观看 | 欧美精品一区二区三区四区在线 | 国产精品毛片久久久久久久 | 国产亚洲激情视频在线 | 国产精品专区在线 | 国产精品久久久久久久婷婷 | 97视频总站| 国产福利一区二区在线 | 四虎国产免费 | 国产伦理一区 | 国产精品18久久久久vr手机版特色 | 伊人开心激情 | 亚洲国产精品一区二区久久hs | 欧美analxxxx| 蜜臀精品久久久久久蜜臀 | 国产黑丝一区二区三区 | 91成人网在线播放 | 99在线精品免费视频九九视 | 亚洲区另类春色综合小说 | 色精品视频 | 久久久久免费精品国产 | 免费av网站观看 | 中文字幕精品一区二区精品 | 麻豆精品国产传媒 | 国产精品欧美久久 | 天天爱天天操天天爽 | 狠狠干天天操 | 一级做a爱片性色毛片www | 亚洲黄色免费观看 | 91九色网站| 亚洲精品久久久久久久不卡四虎 | 99热在线看| 天天操天天艹 | av免费电影在线 | 日日碰狠狠躁久久躁综合网 | 成人资源站 | 伊人日日干 | 亚洲理论片在线观看 | 在线观看av黄色 | 911免费视频| 国产视频在线观看免费 | 日韩av中文字幕在线 | 日韩电影在线观看一区二区 | 涩涩网站在线观看 | 手机av网站| 99在线高清视频在线播放 | 国产精品一区二区三区在线看 | 一级做a视频 | 超碰官网 | 婷婷成人在线 | av网站手机在线观看 | 四虎影视av| 午夜精品久久一牛影视 | 日韩专区在线 | 久久这里有精品 | 韩国av永久免费 | 国产成人三级一区二区在线观看一 | 国产精品porn | 麻豆极品| 亚洲天天看| 人人操日日干 | 日韩a级免费视频 | 欧美不卡视频在线 | 天天夜夜狠狠操 | 97视频人人澡人人爽 | 亚洲成av人片在线观看无 | 亚洲美女视频在线观看 | 中文字幕乱码电影 | 五月婷婷毛片 | 国产专区精品 | 国色天香第二季 | 少妇av网 | 日韩精品视频免费在线观看 | 国产大尺度视频 | 日韩字幕在线观看 | 久久香蕉国产精品麻豆粉嫩av | 99精品国产一区二区三区不卡 | 国产一区二区在线看 | 国产一区二区久久久久 | 国产日韩欧美在线看 | 日韩免费视频一区二区 | 亚洲精品乱码久久久久v最新版 | 91九色成人蝌蚪首页 | 欧美久久久久久久久久久 | 日韩电影久久久 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产不卡免费视频 | 国产精品18久久久久久久久久久久 | 色久天 | 国产99久久九九精品免费 | 色全色在线资源网 | 中文字幕资源站 | 亚洲精品在线免费播放 | 成人sm另类专区 | 天天玩天天干 | 黄污网站在线 | 美女福利视频在线 | 国产三级久久久 | 亚洲久草视频 | 国产一级电影免费观看 | 超碰在线97免费 | 日韩综合精品 | av电影中文字幕 | 欧美国产日韩一区二区三区 | 亚洲精品字幕在线 | 涩涩网站在线看 | 国产亚洲欧美在线视频 | 亚色视频在线观看 | 亚洲国产精品久久久久 | 国产精品青草综合久久久久99 | 国产99在线免费 | 狠狠干天天色 | 黄色大全免费网站 | 久久精品三 | 久久久久久久久久久国产精品 | 日韩高清毛片 | 三级免费黄色 | 99精品电影 | 天天操欧美 | 国产小视频精品 | 中文字幕久久网 | 天天躁日日躁狠狠躁av麻豆 | 欧美精品久久久久久 | 久久精品人人做人人综合老师 | www.国产在线| 亚洲精品在线视频观看 | 国产亚洲精品成人av久久ww | 日韩av中文 | 美州a亚洲一视本频v色道 | 免费在线观看成人av | 五月婷婷在线播放 | 国产视频 亚洲视频 | 中文字幕av全部资源www中文字幕在线观看 | 中文字幕av免费在线观看 | 日本精品视频免费 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 国产资源网| 天天天天综合 | 国产一区二区三区在线 | 国产午夜麻豆影院在线观看 | 91精品国产自产老师啪 | 日日夜夜噜噜噜 | 国产91大片 | 免费看成人片 | 日韩专区av | 91免费高清视频 | 五月天狠狠操 | 久久精品8 | 欧美激情另类文学 | 国产精品初高中精品久久 | 91av视频免费在线观看 | 在线观看日韩专区 | 亚洲理论影院 | 日日干美女 | 黄色片免费看 | 国产视频午夜 | 成人一区在线观看 | 亚洲精品中文在线观看 | 国产美女在线精品免费观看 | av网站免费看 | 四虎国产精品永久在线国在线 | www.亚洲黄 | 黄色免费大全 | 91在线porny国产在线看 | 久久久久9999亚洲精品 | av色影院 | 亚洲激情一区二区三区 | 97人人爽人人 | 欧美性精品| 亚洲免费激情 | 日韩免费成人 | 欧洲黄色片 | 日韩中文字幕第一页 | 天天操天天艹 | 激情久久五月 | 女人18精品一区二区三区 | 一级黄色av| 成年人网站免费观看 | 少妇精品久久久一区二区免费 | 一区二区中文字幕在线播放 | 不卡的av电影在线观看 | 国产精品初高中精品久久 | 欧美超碰在线 | 91精品视频观看 | 国产日产亚洲精华av | 久久手机看片 | www夜夜操com| av免费试看 | 亚洲精品成人av在线 | 国产精品一区欧美 | 成人av影视在线 | 日韩手机在线观看 | 久久久久久久久久亚洲精品 | 私人av| 69久久久久久久 | 免费观看9x视频网站在线观看 | 国产色综合天天综合网 | 99久久综合狠狠综合久久 | 亚洲国产精品99久久久久久久久 | 在线 精品 国产 | 中文一区在线 | 久久国内免费视频 | 99久久精品国产毛片 | 超碰在线人人爱 | 久久综合在线 | 黄色1级大片 | 中文免费观看 | www.天天射| 亚洲男模gay裸体gay | 成人久久18免费网站麻豆 | 91精品国产高清自在线观看 | 一区二区三区中文字幕在线 | 99亚洲国产 | 中文字幕在线资源 | 日本中文字幕一二区观 | 日韩激情一二三区 | 99精品在线视频播放 | 久久亚洲专区 | 天天爽夜夜爽精品视频婷婷 | 一区二区电影网 | 日韩有码在线观看视频 | 人人插人人草 | 国产精品av免费在线观看 | 亚洲免费观看视频 | 国产精品麻豆99久久久久久 | 香蕉看片 | 中文久久精品 | 91片在线观看 | 免费观看成年人视频 | 西西444www大胆高清图片 | 99热只有精品在线观看 | 国产亚洲精品av | 成人一级 | 国产精品videoxxxx| 午夜精品av| 激情视频在线高清看 | 国产小视频国产精品 | 日韩av影视 | 亚洲久久视频 | 黄色电影在线免费观看 | 中文字幕在线观看视频一区 | 天天干干| 9999免费视频 | 激情网站免费观看 | 日韩电影黄色 | 国产精品美女网站 | 天天碰天天操视频 | 国产很黄很色的视频 | 久草在线在线精品观看 | 中文字幕在线久一本久 | 久久九九久久九九 | 在线电影日韩 | 91精品秘密在线观看 | 免费观看成人 | www.久久久| 久久精品视频免费观看 | 国产一级视频在线观看 | 国产成a人亚洲精v品在线观看 | 免费视频xnxx com| 欧美日韩国产亚洲乱码字幕 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美日韩久 | 91香蕉国产在线观看软件 | 久久久久久久免费观看 | 69久久久久久久 | 免费99视频 | 日本资源中文字幕在线 | 久久综合影视 | 欧美一级黄色片 | 成人手机在线视频 | 日韩视频一区二区在线 | 久久激五月天综合精品 | 日韩羞羞 | 成全免费观看视频 | 日韩成人黄色av | 国产精品国产三级国产不产一地 | 久久99国产精品久久99 | 狠狠操狠狠 | 久久久久北条麻妃免费看 | 久久人人爽人人爽人人片av免费 | 国产精品入口麻豆 | 久久国产精品系列 | 成人午夜毛片 | 成人免费在线观看电影 | 久久久久久久久久福利 | 黄色精品在线看 | 日日婷婷夜日日天干 | 特级西西444www大胆高清无视频 | 欧美日韩成人一区 | 日韩在线免费观看视频 | 久久久久久久久久影院 | 免费三级影片 | 国际精品久久 | 国产明星视频三级a三级点| 亚洲精品在线视频网站 | 99久久久国产精品美女 | 精品国产一区二区三区男人吃奶 | 一级黄色视屏 | 麻豆一区二区 | 国产手机视频在线观看 | 九七视频在线 | aaawww| 成人激情开心网 | 在线不卡a | 91桃色免费观看 | 99亚洲精品在线 | 三级a视频 | 亚洲精品综合欧美二区变态 | 亚洲欧美精品一区 | 激情欧美xxxx | 国产精品久久久久一区二区三区 | 97高清视频 | 欧美日韩亚洲第一 | 色婷婷www | 久久永久免费视频 | 久久久久久久久黄色 | 黄色片免费在线 | 91大神精品视频在线观看 | 国产精品久久久久久久久久尿 | 在线观看中文字幕第一页 | 亚洲视频在线看 | 免费观看一级一片 | 成人永久视频 | 黄色一级大片免费看 | 国产精品av在线免费观看 | 国产成人久久精品77777综合 | 粉嫩av一区二区三区四区五区 | 国产精品自产拍在线观看 | www免费看 | 天天操天天爱天天干 | 欧美在线视频免费 | 热久精品 | 日韩在线观看 | 日韩免费电影网站 | 国模精品一区二区三区 | 国产精品欧美一区二区三区不卡 | 国产毛片久久久 | 狠狠干婷婷 | av丝袜在线 | 国产中文字幕一区二区三区 | av福利网址导航 | 中文字幕在线影视资源 | 人人澡人人澡人人 | 在线观影网站 | 久久99久久99精品免视看婷婷 | 午夜视频黄 | 日韩欧美在线高清 | 久久国产精品免费 | 激情五月在线视频 | 天堂久色| 国产精品一区二区免费在线观看 | 96久久 | 精品久久久久久国产 | 色5月婷婷 | 97国产精品 | 一区二区三区视频网站 | 国产精品久久久久久久av电影 | 欧洲精品码一区二区三区免费看 | 久久精品一区二区三区国产主播 | 国产群p视频 | 天天综合区 | 亚洲永久国产精品 | 九九免费在线观看视频 | 亚洲伊人第一页 | 国产精品a久久久久 | 丁香五月亚洲综合在线 | 奇米影视8888在线观看大全免费 | 中文字幕在线观看第二页 | 欧美综合在线视频 | 久久99免费 | 色综合久久88色综合天天 | 精品你懂的 | 亚洲欧美日韩精品久久久 | 亚洲综合色av | 一级黄色片在线观看 | 91视频免费看片 | 欧美成人高清 | 69国产盗摄一区二区三区五区 | 免费看精品久久片 | 日韩精品一卡 | 成人在线观看av | 91精品啪 | 天天色成人网 | 久久久久久久久亚洲精品 | 激情影院在线 | 在线观看精品一区 | 国产免费久久 | 国产亚洲在 | 欧美大片大全 | 国产精品成人品 | 综合网色 | 国产裸体视频bbbbb | 人人艹视频 | 亚洲国产经典视频 | 久久精品4 | 五月精品 | 久久久久久免费毛片精品 | 91麻豆精品国产自产在线 | 成人av地址| 久久这里有 | 亚州av网站大全 | 国产精品嫩草在线 | 精品国产一区二区三区男人吃奶 | 久久伊人精品一区二区三区 | 免费亚洲成人 | 国产精品视频线看 | 高清在线一区二区 | 日韩天堂网 | 日日操夜夜操狠狠操 | 综合网天天色 | 91中文字幕网 | 国产免费观看视频 | 91免费视频网站在线观看 | 国产精品久久久毛片 | 一区二区三区高清不卡 | 国产精品理论片 | 99久久精品免费看国产四区 | 久久婷婷国产色一区二区三区 | 成人av免费| 国产精品久久亚洲 | 国产免费叼嘿网站免费 | 久久久久久欧美二区电影网 | 欧美日韩在线看 | 国产 欧美 日产久久 | 在线电影 你懂得 | 亚洲香蕉视频 | 亚洲精品免费在线视频 | 日韩精品一区二区不卡 | 18国产精品白浆在线观看免费 | 区一区二区三在线观看 | 狠狠干狠狠色 | 美女视频黄免费网站 | 日韩欧美视频在线 | 久精品视频 | 成人永久在线 | 又黄又爽又刺激的视频 | 日韩欧美一区二区在线观看 | 久久免视频 | 精品在线观看一区二区 | 亚洲日韩中文字幕在线播放 | 日韩欧美视频一区二区 | 日韩视频免费看 | 毛片无卡免费无播放器 | 久久成人麻豆午夜电影 | 成片免费| 欧美最猛性xxxx | 中文字幕免费高 | 国产资源在线观看 | 中文字幕在线色 | 狠狠色丁香婷婷综合久久片 | 成年人免费电影在线观看 | 精品久久久久久综合日本 | 成人免费xxxxxx视频 | 四虎在线观看精品视频 | 免费看成人av | 国产精品一区二区三区四 | 特级aaa毛片 | 黄色一级片视频 | 黄色网在线免费观看 | 五月综合久久 | 97色婷婷 | 国产美女搞久久 | 久久午夜羞羞影院 | 2021国产在线 | 欧美亚洲成人xxx | 999国内精品永久免费视频 | 成人黄性视频 | 色com| 天天色天天骑天天射 | 三级免费黄 | 亚洲精品久久久久久久不卡四虎 | 欧美日韩视频精品 | 在线黄av | 三日本三级少妇三级99 | 免费在线观看av网址 | 97中文字幕 | 色在线网 | 欧美极度另类性三渗透 | 日韩欧美电影网 | 国产一区二区三区网站 | 手机av网站 | 日韩在线免费高清视频 | 久久久久久久久久久黄色 | 精品国产aⅴ一区二区三区 在线直播av | 亚洲精品视频在线免费 | 四虎影视8848aamm | 色婷婷啪啪免费在线电影观看 |