有网页属性(void QWebSettings::setAttribute(WebAttribute attribute, bool on)):
QWebSettings::LocalStorageDatabaseEnabled
QWebSettings::OfflineWebApplicationCacheEnabled
QWebSettings::OfflineStorageDatabaseEnabled
还有方法:
void QWebSettings::enablePersistentStorage(const QString &path = QString())
void QWebSettings::setMaximumPagesInCache(int pages)
void QWebSettings::setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity)
void QWebSettings::setOfflineStorageDefaultQuota(qint64 maximumSize)
void QWebSettings::setOfflineStoragePath(const QString &path)
void QWebSettings::setOfflineWebApplicationCachePath(const QString &path)
void QWebSettings::setOfflineWebApplicationCacheQuota(qint64 maximumSize)
还有可以与 QNetworkAccessManager 一起使用的 QNetworkDiskCache:
QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
diskCache->setCacheDirectory(location);
networkAccessManager->setCache(diskCache);
它还有几个方法:
void setCacheDirectory(const QString &cacheDir)
void setMaximumCacheSize(qint64 size)
我应该如何使用这个令人困惑的 API 正确实现缓存?
最佳答案
http://www.webkit.org/blog/427/webkit-page-cache-i-the-basics/ 。这
是一种内存缓存,用于加速后退/前进操作
浏览器。
加载页面时,涉及多个级别的缓存,从最快到最慢:
(3) 和 (4) 不受您的控制,(1) 默认启用,因此您可能唯一需要做的就是启用 (2)。
关于qt - QWebkit QWebSettings 缓存和 QNetworkManager QNetworkDiskCache 有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9096887/