我想要实现的目标:
用loader/spinner渲染页面
如果service-worker.js已注册并处于活动状态,则检查更新
updatefound安装了新版本,则重新加载页面service-worker.js
updatefound,意味着新的安装,删除装载机我正在使用sw-precache模块生成service-worker.js并遵循注册码:
window.addEventListener('load', function() {
// show loader
addLoader();
navigator.serviceWorker.register('service-worker.js')
.then(function(swRegistration) {
// react to changes in `service-worker.js`
swRegistration.onupdatefound = function() {
var installingWorker = swRegistration.installing;
installingWorker.onstatechange = function() {
if(installingWorker.state === 'installed' && navigator.serviceWorker.controller){
// updated content installed
window.location.reload();
} else if (installingWorker.state === 'installed'){
// new sw registered and content cached
removeLoader();
}
};
}
if(swRegistration.active){
// here I know that …Run Code Online (Sandbox Code Playgroud) 我在gradle.properties文件中添加了一个新选项:
android.enableSeparateAnnotationProcessing=true
但是我从编译器/构建器那里得到了以下警告:
警告:该选项设置
android.enableSeparateAnnotationProcessing=true是实验性的,不受支持。
我也试图做到这一点false,但我收到以下消息:
Gradle 可能会禁用增量编译,因为以下注解处理器不是增量编译器:compiler-1.1.1.jar (android.arch.persistence.room:compiler:1.1.1), compiler-4.8.0.jar (com.github.bumptech .glide:compiler:4.8.0)、butterknife-compiler-8.6.0.jar (com.jakewharton:butterknife-compiler:8.6.0)。考虑在 gradle.properties 文件中设置实验性功能标志 android.enableSeparateAnnotationProcessing=true 以在单独的任务中运行注释处理并使编译增量。
环境:
JRE 1.8.0_152-release-1136-b06 amd64
JVM OpenJDK 64-Bit Server VM by JetBrains sro
Android Studio 3.2.1 Build #AI-181.5540.7.32.5056338
Gradle 4.10.3
Android Gradle.1插件:3.
安卓文档:
当您包含此标志时,Android Gradle 插件会在单独的任务中执行注释处理器,并允许 Java 编译任务以增量方式运行。 https://developer.android.com/studio/releases/gradle-plugin