有web属性(void QWebSettings :: setAttribute(WebAttribute属性,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)
还有QNetworkDiskCache可以与QNetworkAccessManager一起使用:
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正确实现缓存?
答案 0 :(得分:7)
加载页面时,涉及多种级别的缓存,从最快到最慢:
(3)和(4)不受控制,(1)默认启用,因此您可能需要做的唯一事情是启用(2)。