iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android应用启动白屏处理的方法是什么
  • 642
分享到

Android应用启动白屏处理的方法是什么

2023-07-05 06:07:00 642人浏览 泡泡鱼
摘要

本篇内容介绍了“Android应用启动白屏处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正文相信大家一定遇到过某些App在手

本篇内容介绍了“Android应用启动白屏处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    正文

    相信大家一定遇到过某些App在手机桌面打开时会出现短暂或者几秒钟的白屏情况吧,没错那是应用程序启动后系统默认的背景色,此时应用的第一个Activity还未被加载出来,所以不管怎么设置第一个Activity的背景色都毫无作用。首先先聊一聊冷启动和热启动:

    • 冷启动

    杀掉App,此时的App进程不存在于后台,启动时从LoGo页面开始。

    • 热启动

    App处于后台,进程未被杀死,重新进入前台时页面保持上一次页面,不会重新启动。

    所以,我们此次所讲的属于冷启动过程,当应用程序代码量小、业务逻辑少、体积小时,App启动还是比较快,白屏时间可以忽略不计。一旦初始化工具过多,首页业务逻辑过多时启动速度会严重变慢,此时的白屏时间会越来越长,给人一种极差的体验。我们需要做的就是在白屏时间尽可能快速的展示Logo等图标,让它成为一个过渡,待应用程序准备好后跳转到相应页面以提高用户体验。

    配置一个SplashActivity

    首先,需要配置一个SplashActivity(应用展示的第一个Activity)的主题

    <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">    <!-- 将splash图片设置在这,这样这张图片取代白屏 -->    <item name="android:windowBackground">@drawable/logo_drawable</item>    <item name="android:windowAnimationStyle">@style/notAnimation</item>    <!--将顶部状态栏设置为透明,并将界面内容布局上边界上提至状态栏顶部-->    <item name="android:windowTranslucentStatus">true</item>    <!--如果有底部虚拟导航栏,则将底部虚拟导航栏设置为透明,并将界面内容布局下边界下沉至虚拟导航栏底部-->    <item name="android:windowTranslucentNavigation">true</item>    <item name="android:windowFullscreen">true</item>    <item name="android:windowNoTitle">true</item>    <item name="windowActionBar">true</item></style>

    其中windowBackground是我们本次重点配置,windowAnimationStyle是取消页面的一些动画效果,一般首页我们让它无动画,其他设置根据自己情况设置即可。

    让我们来看看logo_drawable

    <layer-list xmlns:android="Http://schemas.android.com/apk/res/android">    <item>        <color android:color="#ffffffff"/>    </item>    <item        android:top="208dp"        android:bottom="453Dp">        <bitmap            android:gravity="center"            android:src="@mipmap/ic_logo" />    </item></layer-list>

    白色背景上叠加一个bitmap,这里需要注意的是bitmap外层的item标签一定要根据设计稿配置好上下边距,否则运行App后的效果会被铺满屏幕。

    然后我们将上面的主题配置到activity中,此时SplashActivity的布局文件中可以什么都不写,因为该主题就相当于背景,如果此处编写页面可能会和背景logo重合,仅需要编写一些逻辑和跳转处理。

    <activity    android:name=".ui.splash.SplashActivity"    android:confiGChanges="orientation|screenSize"    android:exported="true"    android:launchMode="singleTop"    android:screenOrientation="portrait"    android:theme="@style/SplashTheme">    <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />    </intent-filter></activity>

    至此,再次运行打开App发现,几乎点开就是我们配置的logo,完美处理白屏问题。

    注意:

    如果项目使用了UI适配的三方库,例如androidAutoSize,一定记得根据文档处理放弃启动页适配,否则运行出来的效果也是不如意。

    “Android应用启动白屏处理的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: Android应用启动白屏处理的方法是什么

    本文链接: https://www.lsjlt.com/news/350199.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Android应用启动白屏处理的方法是什么
      本篇内容介绍了“Android应用启动白屏处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正文相信大家一定遇到过某些App在手...
      99+
      2023-07-05
    • Android应用启动白屏处理方案详解
      目录正文配置一个SplashActivity让我们来看看logo_drawable注意:总结正文 相信大家一定遇到过某些App在手机桌面打开时会出现短暂或者几秒钟的白屏情况吧,没错...
      99+
      2023-02-27
      Android启动白屏处理 Android 白屏处理
    • Android应用启动时白屏或者黑屏处理办法
      老生常谈的问题了,随便记录一下吧。 通过设置主题来防止白屏或者黑屏 一般情况下,启动页面通常是全屏的,而且会用一张图片来展示用户打开应用程序后第一眼看到的界面。在手机中点击应用程序的图标到应用程序显示完MainActivit...
      99+
      2023-09-12
      android 性能优化 Powered by 金山文档
    • Flutter Android应用启动白屏的解决方案
      目录问题产生如何解决总结问题产生 默认生成的flutter工程,在启动时候会白屏,设备性能越差,白屏时间越长。原生Android开发也会遇到类似问题,启动会产生白屏或者黑屏问题。在...
      99+
      2024-04-02
    • Flutter Android应用启动白屏怎么办
      小编给大家分享一下Flutter Android应用启动白屏怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题产生默认生成的flutter工程,在启动时候会...
      99+
      2023-06-25
    • android应用启动过程是什么
      Android应用的启动过程可以分为以下几个步骤:1. 用户点击应用图标:用户在设备上点击应用图标,触发应用的启动。2. 系统启动应...
      99+
      2023-09-09
      android
    • android开机自启动的方法是什么
      Android开机自启动的方法有以下几种:1. 使用BroadcastReceiver:创建一个继承自BroadcastReceiv...
      99+
      2023-08-12
      android
    • Android触屏事件的处理方式是什么
      Android触屏事件的处理方式是通过监听和响应触摸事件来实现。具体来说,可以通过以下几种方式来处理触屏事件:1. 在Activit...
      99+
      2023-08-11
      Android
    • Android应用程序的启动流程是什么
      本篇内容介绍了“Android应用程序的启动流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!应用进程的启动流程本文基于Android...
      99+
      2023-07-05
    • Android冷启动耗时优化的方法是什么
      这篇文章主要介绍了Android冷启动耗时优化的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android冷启动耗时优化的方法是什么文章都会有所收获,下面我们一起来看看吧。1,背景最近开发了一个新的...
      99+
      2023-06-26
    • Google Analytics白屏问题的解决方法是什么
      Google Analytics白屏问题的解决方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 在C:Windows System32 drivers etc下用记事...
      99+
      2023-06-12
    • sql2008r2启动的方法是什么
      本篇内容介绍了“sql2008r2启动的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sql2008r2启动步骤首先按照图中位置去...
      99+
      2023-07-04
    • MongoDB的启动方法是什么
      本篇内容介绍了“MongoDB的启动方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、最原始的启动方式 启动cmd,切换路径到C:...
      99+
      2023-07-05
    • activity启动的方法是什么
      Activity启动的方法是调用startActivity()或startActivityForResult()方法。startAc...
      99+
      2023-09-11
      activity
    • linux启动MySQL的方法是什么
      在Linux系统中,可以通过以下步骤启动MySQL服务: 打开终端,并使用以下命令登录到root账户: sudo su 启动...
      99+
      2024-04-09
      linux MySQL
    • mongodb启动auth的方法是什么
      要启用MongoDB的身份验证(auth),请按照以下步骤操作:1. 在MongoDB配置文件中启用身份验证。找到MongoDB配置...
      99+
      2023-08-24
      mongodb auth
    • linux启动kafka的方法是什么
      在Linux上启动Kafka有以下几种方法:1. 使用kafka-server-start.sh脚本:Kafka提供了一个启动脚本k...
      99+
      2023-10-08
      kafka linux
    • linux启动redis的方法是什么
      linux启动redis的方法是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1、首先为了方便管理,将Redis文件中...
      99+
      2024-04-02
    • linux启动ssl的方法是什么
      要在Linux上启动SSL(安全套接层),您可以按照以下步骤进行操作:1. 安装OpenSSL:首先,确保您的系统上已安装OpenS...
      99+
      2023-09-05
      linux ssl
    • mac启动redis的方法是什么
      在Mac上启动Redis可以通过以下步骤: 打开终端窗口(Terminal); 输入以下命令来安装Redis:brew insta...
      99+
      2024-03-01
      mac redis
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作