渐进式 Web 应用程序的预期启动体验是什么?

2024-03-20

测试渐进式 Web 应用程序。

当我在飞行模式下启动应用程序时,我得到了意外的启动/启动体验(Android/Chrome)。

从主屏幕体验启动

我看到一个白色的屏幕,然后是“离线恐龙”的短暂闪烁,然后应用程序成功启动,一切正常。启动时间比我预期的要长,尤其是在笔记本电脑上使用 Chrome Devtools 进行测试后,启动几乎是即时的。

由于调试这些时间花在哪里(特别是在“service-worker-not-running”情况下)有点棘手,因此了解一些基线知识会很有帮助:

从浏览器体验启动

在应用程序成功启动之前,只需短暂闪现“离线恐龙”。启动速度要快得多。

问题

  • Android/Chrome 上的预期启动时间和体验如何?
  • 上述经历只是目前的情况(11/2015)吗?
  • 有没有办法指定 Chrome 的启动(启动)体验? (我知道应用程序清单中的背景颜色和 144x144 图标用于启动,但仅适用于 Opera)

对我来说是第一次 PWA,所以任何有关这方面的信息都会有帮助。

我的平台: 三星GS 5, 安卓5.0, 铬46.0.2490.76


启动画面存在的原因是因为在移动设备上启动渲染过程可能需要一秒钟以上的时间,因此我们绘制一些东西(背景颜色和图标),直到您的应用程序生成了第一个绘制。

如果您在启动时看到白屏,可能是因为您在 Chrome 登陆 (46) 启动画面功能之前添加到了主屏幕。需要注意的一些事项:

  • 确保您的清单具有short_name and name
  • 确保您的 start_url 与页面上注册的 SW 处于同一范围内
  • 清单中的图标最好 > 192px
  • Set background_color在清单中更改为页面背景的颜色(理想情况下)。这将确保启动屏幕是您网站的预期颜色。

即使您处于飞行模式,您也不应该看到离线恐龙。气喇叭 https://airhorner.com应该代表理想的体验:带有一个图标的蓝色启动屏幕,该图标会变形为应用程序的显示。

回复:图标 - 我实际上推荐 192 像素或更高的图标。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

渐进式 Web 应用程序的预期启动体验是什么? 的相关文章

  • getItem 与 getItemAtPosition

    有两种方法可以获取列表视图中的选定项目 list getAdapter getItem position list getItemAtPosition position 我的问题是 哪一种是首选的做法 我见过人们同时使用这两种方法 您可以使
  • 使用 Android 前台服务为 MediaPlayer 创建通知

    问题就在这里 我目前正在开发一个应用程序 该应用程序必须提供 A 广播播放器 来自 URL 的 AAC 直播 还有一个播客播放器 来自 URL 的 MP3 流 该应用程序必须能够在后台运行 Android 服务 并通过以下方式向用户公开持续
  • 从 Throwable 获取错误代码 - Android

    我怎样才能从错误代码可投掷 https developer android com reference java lang Throwable html public void onFailure Throwable exception 我
  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • KitKat(及更低版本)设备上的 Android Material Design

    我将在我们学校开发一个 Android 应用程序作为一个项目 我想使用 Google 的新 Material Design 但我知道它仅适用于 Android L 设备 Jack Underwood 最近发布了名为 Today Calend
  • (Ionic 2)尝试回退到 Cordova-lib 执行时发生错误:TypeError:无法读取未定义的属性“then”

    Edit 使用 ionic 2 时会发生这种情况 我知道它还不稳定 但我认为可能有一些解决方案 因为其他人似乎没有遇到这个问题 Edit end 由于某种原因 我在尝试使用 ionic build android 和 ionic build
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 获取 AlarmManager 中活动的 PendingIntents 列表

    我有办法获取活动列表PendingIntent在设备中 我开始工作AlarmManager我想看看我的PendingIntents 已正确创建和删除 也很高兴看到其他什么PendingIntent在那里 只是为了看看某些应用程序是否正在做一
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 应用程序未安装在 Android 模拟器上

    我正在 android Geocoder 中开发一个应用程序 当我运行该应用程序时 它会显示 2011 01 11 11 08 13 GeoTourProject 自动目标模式 使用现有模拟器 emulator 5554 运行兼容的 AVD
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 带有自定义阵列适配器的微调器不允许选择项目

    我使用自定义阵列适配器作为微调器 但是 当在下拉列表中选择一个项目时 下拉列表保留在那里 并且微调器不会更新 这是错误行为 与使用带有字符串的通用数组适配器相比 这是自定义类 我错过了什么吗 谢谢 public class Calendar
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Android Webview 图像未加载

    我制作了一个简单的应用程序WebView 但有些图片无法加载 正确 在我的电脑上 错误 在模拟器中 Correct 错误 没有横幅 于是我用Chrome debug进行调试 发现我的代码被改变了 我不添加像noscript or style
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • 不使用控件时,视频元素在 Chrome 中消失

    So I think这是一个浏览器错误 它出现在一个更复杂的设计 网站中 但我已经进行了很好的尝试 简化了我的代码和设计等 并发现了以下内容 嵌入时
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index
  • 找到 Android 浏览器中使用的 webkit 版本?

    有没有办法知道某些特定手机上的 Android 浏览器使用的是哪个版本的 webkit 软件 如果有一个您可以浏览以获取该信息的 URL 那就太好了 但任何其他方式也很好 如果你知道 webkit 版本 你就知道 html5 支持多少 至少
  • 在 Google 地图上绘制线条/路径

    我很长一段时间都在忙于寻找如何在 HelloMapView 中的地图上的两个 GPS 点之间画一条线 但没有运气 谁能告诉我该怎么做 假设我使用扩展 MapView 的 HelloMapView 我需要使用叠加层吗 如果是这样 我是否必须重

随机推荐

  • Dragula JS通过点击事件从一个列表移动到另一个列表

    我使用 Dragula JS 进行拖放功能 并且我还希望可以选择通过单击鼠标来来回移动列表中的元素 而不会失去拖放功能 我该如何实现这一点 所以我单击元素 1 它将移动到列表中 我从该列表中将其单击回来 它就会向后移动 就是这个想法 如果有
  • Oracle 日期差值获取年数

    有没有办法计算日期之间的年数 不知道如何在考虑跳跃和不考虑什么的情况下做到这一点 是否可以在 SELECT 中执行 IF 语句 Thanks I d use months between 可能与floor select floor mont
  • 为什么使用 number_format() 我的数值会发生变化?

    下面的代码给了我两个不同的输出 number 1562798794365432135246 echo number echo number format number 谁能解释一下吗 编辑 忘了提及 上面给了我 15627987943654
  • 将 XPCOM 组件公开给网页中的 javascript

    我想编写一个 XPCOM 组件 该组件在网页中作为 JavaScript 对象公开 我正在寻找像 Google Gears 这样的东西 也就是说 安装 Google Gears Firefox 扩展后 任何想要使用它的网页都可以使用 jav
  • 使 Windows 服务像从特定用户运行一样运行

    我想创建一个 Windows 服务来安装和卸载真密码 http www truecrypt org 体积 这个问题与 true crypt 无关 所以如果您不知道该程序是什么也没关系 True Crypt 只是一个使您能够加密数据的程序 当
  • 从 PHP 上传多个文件到 Amazon S3

    有没有一种方法可以一次性上传多个文件 而不必为每个文件重新连接 我使用 S3 作为我的 php 应用程序的存储 该应用程序需要存储大量 一次 100 个 大多数较小 大约 10k 的图像文件 目前我正在循环遍历它们并使用以下代码为每个单独上
  • ASP.NET Core 无法在 IIS 下运行:HTTP 错误 500.0 - ANCM 进程内处理程序加载失败

    我刚刚将我的 Web 应用程序从 ASP NET Framework MVC 升级到 ASP NET Core 2 2 该应用程序在 IIS Express 下运行良好 但是当我尝试在 IIS 下运行它时 它会给出一般错误 HTTP 错误
  • react-test-renderer create() 与 @testing-library/react render()

    我是 React 新手 对所有测试库感到困惑 我的测试代码可以工作 但调用似乎是多余的create 来自react test renderer以便使用它的toMatchSnapshot 并且必须打电话render 来自 testing li
  • 如何使用 C# 将 json 插入到 cosmos db 集合中

    我有一个 Json 文件 我想将其存储在 cosmos DB 集合中 如何使用 C 添加完整的 Json 文件 有同样的客户端库吗 我已经浏览过以下网址微软网址 https learn microsoft com en us azure c
  • 在 python 3 中使用 python 2 架子

    我将数据存储在使用 python 2 7 创建的架子文件中 当我尝试从 python 3 4 访问该文件时 出现错误 gt gt gt import shelve gt gt gt population shelve open shelve
  • jQuery 向上计数

    我不太擅长 javascript 但我希望有一个漂亮的小动画 可以向上计数数字 我发现了this http sophilabs github io jquery counter 在 Github 上 但是速度很慢 我正在计算一个小数点后10
  • Django Collectstatic 命令在 AWS Elastic Beanstalk Amazon Linux 2 Python 3 平台中失败

    几天来 我一直在努力使用 Amazon Linux 2 Python 3 7 平台将 Django 应用程序部署到 Elastic Beanstalk 设法部署应用程序后 我无法运行命令python3 manage py collectst
  • 如何在 didSelectRowAtIndexPath 之后运行prepareForSegue?

    我正在尝试获取indexPath row该用户单击 然后检查我的数组以从中返回一个字符串indexPath row然后通过prepareforSegue发送字符串 但它不起作用 我认为该程序在之前运行了prepareForSeguedids
  • SignalR hub 中的上下文为空

    我有一个 Web 表单应用程序并进行测试 以了解 SignalR 如何满足我的要求之一 我的中心代码 using System using System Collections Generic using System Linq using
  • pip install enum 无法正常工作,显示“intflag”的错误没有

    pip 安装枚举 不工作显示错误 AttributeError 模块 enum 没有属性 IntFlag enum34 is the stdlib Enum backport but it only supports features fo
  • 在 python 中并行化这个嵌套 for 循环

    我再次努力提高这段代码的执行时间 由于计算确实非常耗时 我认为最好的解决方案是并行化代码 我首先使用地图 如中所述this https stackoverflow com questions 29217088 parallelize a n
  • 从 DOM 中删除空节点元素

    在没有 jQuery 的情况下从 dom 中识别和删除空元素的最佳方法是什么 如果我有如下所示的代码 div div p p div div p Some content p div div 摆脱空虚的最好方法是什么 p and p div
  • 在 C++ 中清除内存中的回车符

    我有以下代码 int main Variables char name Take the users name as input cout lt lt Please enter you name lt lt endl cin gt gt n
  • 模拟詹金斯管道步骤

    我在 jenkinsfile 中使用了一个类 这里 是它的简化版本 class TestBuild def build jenkins jenkins script jenkins sh returnStdout true script e
  • 渐进式 Web 应用程序的预期启动体验是什么?

    测试渐进式 Web 应用程序 当我在飞行模式下启动应用程序时 我得到了意外的启动 启动体验 Android Chrome 从主屏幕体验启动 我看到一个白色的屏幕 然后是 离线恐龙 的短暂闪烁 然后应用程序成功启动 一切正常 启动时间比我预期