缓存管理
功能简介
凭借 ZIM SDK,您可以查询当前登录用户的本地缓存文件大小,并清理本地缓存。
查询缓存
创建 ZIM 对象并登录后,调用 queryLocalFileCache 接口,传入 ZIMFileCacheQueryConfig
查询结果将通过 ZIMFileCacheQueriedCallback 回调接口返回。
ZIMFileCacheQueryConfig config = new ZIMFileCacheQueryConfig ();
config.endTime = 0; // 查询当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将获取当前用户的完整缓存大小。
zim.queryLocalFileCache(config, new ZIMFileCacheQueriedCallback() {
@Override
public void onFileCacheQueried(ZIMFileCacheInfo fileCacheInfo, ZIMError errorInfo) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// 查询缓存结果
} else {
// ......
}
}
});
1
ZIMFileCacheQueryConfig *config = [[ZIMFileCacheQueryConfig alloc] init];
config.endTime = 0; // 查询当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将获取当前用户的完整缓存大小。
[self.zim queryLocalFileCacheWithConfig:config callback:^(ZIMFileCacheInfo *fileCacheInfo, ZIMError *errorInfo) {
if(errorInfo.code == ZIMErrorCodeSuccess) {
// 查询结果
} else {
// ......
}
}];
1
zim::ZIMFileCacheQueryConfig config;
config.endTime = 0; // 查询当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将获取当前用户的完整缓存大小。
zim::ZIM::getInstance()->queryLocalFileCache(config, [=](const zim::ZIMFileCacheInfo& fileCacheInfo, const zim::ZIMError& errorInfo) {
// 查询结果
});
1
try{
ZIMFileCacheQueryConfig config = ZIMFileCacheQueryConfig();
config.endTime = 0; // 查询当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将获取当前用户的完整缓存大小。
ZIMFileCacheQueriedResult result = await ZIM.getInstance()!.queryLocalFileCache(config);
// 查询缓存结果
} on PlatformException catch (onError) {
onError.code;
onError.message;
}
1
var config = {
endTime: 0 // 查询当前用户在这个时间戳(UNIX)之前的缓存大小。填 0 或晚于当前时间的值,将获取当前用户的完整缓存大小。
};
zim.queryLocalFileCache(config)
.then(function ({ totalFileSize }) {
// 操作成功
})
.catch(function (err) {
// 操作失败
});
1
清除缓存
创建 ZIM 对象并登录后,调用 clearLocalFileCache 接口,传入 ZIMFileCacheClearConfig ,即可清理当前用户在本地的缓存。
清理结果将通过 ZIMFileCacheClearedCallback 回调接口返回。
ZIMFileCacheClearConfig config = new ZIMFileCacheClearConfig ();
config.endTime = 0; // 清理当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将清除当前用户的完整缓存大小。
zim.clearLocalFileCache(config, new ZIMFileCacheClearedCallback() {
@Override
public void onFileCacheCleared(ZIMError errorInfo) {
if(errorInfo.code == ZIMErrorCode.SUCCESS) {
// 清理缓存结果
} else {
// ......
}
}
});
1
ZIMFileCacheClearConfig *config = [[ZIMFileCacheClearConfig alloc] init];
config.endTime = 0; // 清理当前用户在这个时间戳(UNIX)之前的的缓存
// 填 0 或晚于当前时间的值,将清除当前用户的完整缓存。
[self.zim clearLocalFileCacheWithConfig:config callback:^(ZIMError *errorInfo) {
if(errorInfo.code == ZIMErrorCodeSuccess) {
// 获得清除缓存结果
} else {
// ......
}
}];
1
zim::ZIMFileCacheClearConfig config;
config.endTime = 0; // 清理当前用户在这个时间戳(UNIX)之前的的缓存
// 填 0 或晚于当前时间的值,将清除当前用户的完整缓存。
zim::ZIM::getInstance()->clearLocalFileCache(config, [=](const zim::ZIMError& errorInfo) {
// 获得清除缓存结果
});
1
try{
ZIMFileCacheClearConfig config = ZIMFileCacheClearConfig();
config.endTime = 0; // 清除当前用户在这个时间戳(UNIX)之前的缓存大小。
// 填 0 或晚于当前时间的值,将清除当前用户的完整缓存。
await ZIM.getInstance()!.clearLocalFileCache(config);
} on PlatformException catch (onError) {
onError.code;
onError.message;
}
1
var config = {
endTime: 0 // 清理当前用户在这个时间戳(UNIX)之前的缓存大小。填 0 或晚于当前时间的值,将清除当前用户的完整缓存大小。
};
zim.clearLocalFileCache(config)
.then(function () {
// 操作成功
})
.catch(function (err) {
// 操作失败
});
1