【问题标题】:How to make a splash screen efficiently如何有效地制作启动画面
【发布时间】:2016-09-05 14:07:53
【问题描述】:

我正在尝试为我的应用制作启动画面,以便在显示启动画面时加载一些数据。但似乎有很多制作启动画面的方法。

1.使用布局创建一个新 Activity 并显示该 Activity 一段时间。但是使用布局创建另一个 Activity 会使应用变得繁重。

2.创建一个没有布局的新活动,并在背景上制作一个启动画面,如图here

3.制作一个带有布局的片段并将它们显示为启动屏幕,如图here

在所有这些中,这是制作启动画面的最佳方式。我可以制作启动画面,但我想让它变得轻松简单。

【问题讨论】:

  • 没有正确答案。不同的人会根据自己的需求和编码风格做出不同的实现。
  • 但是制作闪屏的目的都是一样的,都是在后台加载数据
  • 你正在加载什么数据?显示进度的布局可能是更好的用户体验
  • 我正在从外部 uri 加载音频文件
  • Splash 通常不用于加载“数据”,而是加载本机库并启动应用程序。

标签: android android-fragments android-activity splash-screen


【解决方案1】:

尽可能避免在您的应用中引起轰动。作为应用用户,我也有这种行为。

  • 我真的需要立即使用该应用程序,因为时间很宝贵。
  • 我的耐心有限(可能大多数人都会同意)。
  • 我根本不需要它。

如果我们不能完全避免出现闪屏怎么办?我收集的建议概念如下:

  • 延迟加载 - 仅加载目前真正需要的信息。示例:电影应用程序:除非用户告诉您这样做,否则仅加载那些最新电影而不是那些旧电影。这里的想法是只决定先加载哪个是必要的,然后再加载其他的。通过这种方式,您可以减少显示初始屏幕的时间。

  • 缓存 - 如果您继续从服务器下载内容,加载时间可能会过长,并且您的初始屏幕将在更长的时间内可见。使用缓存,您需要从网络中获取更少的数据,因为您已经下载了一些数据。

创建视图时要考虑的事项。

  • 避免超深嵌套视图。
  • 避免深度嵌套权重。
  • 对于图像加载,请使用一些流行的库,例如 Picasso、Glide 等。

【讨论】:

  • 那么我将使用没有布局的活动并通过资源文件显示图像
  • 你能详细说明一下吗?
  • 我认为我们至少不需要避免出现闪屏,因为它的用法在 Material Guideline (material.io/guidelines/patterns/launch-screens.html) 中有所描述
  • @RuslanBerozov 注意我说的是尽可能,但并不完全避免它。如果您无法避免没有启动画面,我也会提供一些见解:)
  • @Enzokie 当我们可以在自定义样式中设置 <item name="android:windowBackground">@drawable/splash</item> 以启动活动时,有一个折衷选项
【解决方案2】:

1.使用布局创建一个新 Activity 并显示该 Activity 一段时间。但是使用布局创建另一个 Activity 会使应用变得繁重。

在制作活动时,您使用 Thread 显示初始屏幕。让Activity线程休眠几秒,在休眠期间更新后台数据是高效的。

【讨论】:

  • 我正在这样做,但使用布局制作活动会使应用变得沉重
  • @SAVVY 您可以使用活动并调用可绘制对象而不是布局。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 2014-08-02
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多