[Android]Splash界面解决启动白屏/黑屏问题

UG NX机械设计软件常见安装问题 UG软件版本这里咱们就不提了,大部分伙伴应该都是钩子激活软件,肯定会遇到或多或少的安装问题,今天这里给大家总结了下,需要的小伙伴自取。有其他问题可以一起讨论,也希望看到的小伙伴多关注支持哦。1,安装包要下载完整2,解压前关闭杀毒软件,关闭防火墙(解压过程中可能会误删程序)3,计算机名字不能有中文字(非常重要)4,安装路径,安装目录不要有中文(非常重要)5,安装完运行UG,不能打开并且无任何提示,简单处理方法换个电脑系统,要么就找UG的升级包。 阅读详情

我相信很多Android开发的同学都遇到过这样的需求:

实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮
点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了

也相信很多同学都遇到了这样的困惑:
第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下

如果你也遇到这个问题,那就继续阅读这篇文章,我带大家去分析和解决这个问题.

解决方案:解决方案非常简单,一句话概括是:给Splash Activity设置一个主题,主题内容是:全屏+透明.

style.xml增加SplashTheme主题:

<style name="SplashTheme" parent="android:style/Theme.Black.NoTitleBar.Fullscreen">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowIsTranslucent">true</item>
</style>

AndroidManifest.xml中为SplashActivity配置主题:

<activity android:name=".activity.SplashActivity"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

经过如上配置,困扰你的白屏、黑屏、ActionBar屏应该都已经烟消云散了.为了知其然,并知其所以然,希望同学能继续跟我一起分析一下这些白屏产生的原因.

Activity组件的窗口启动过程

本段内容大量参考了罗升阳老师的博客。为了方便理解,对其内容进行了压缩。如果侵权,我立刻删掉这段分析

想要了解白屏产生的根源,就不得不去跟踪Activity组件的窗口启动过程。Activity组件在启动的过程中,会调用ActivityStack类的成语函数startActivityLocked方法。注意,在调用ActivityStack类的成语函数startActivityLocked方法的时候,Activity组件还处于启动过程中,即它的窗口尚未显示出来,不过这时候ActivityManagerService服务会检查是否需要为正在启动的Activity组件显示一个启动窗口。如果需要的话,那么ActivityManagerService服务就会请求WindowManagerService服务为正在启动的Activity组件设置一个启动窗口(ps:而这个启动窗口就是白屏的由来)。

ActivityStack.startActivityLocked

public class ActivityStack {
    // set to false to disable the preview that is shown while a new activity
    // is being started.
    static final boolean SHOW_APP_STARTING_PREVIEW = true;

    private final void startActivityLocked(ActivityRecord r, boolean newTask, boolean doResume) 
    {
        final int NH = mHistory.size();

        int addPos = -1;

        // Place to new activity at top of stack, so it is next to interact
        // with the user.
        if (addPos < 0) {
            addPos = NH;
        }

        // Slot the activity into the history stack and proceed
        mHistory.add(addPos, r);

        if (NH > 0) {
            // We want to show the starting preview window if we are
            // switching to a new task, or the next activity's process is
            // not currently running.
            boolean showStartingIcon = newTasks;
            ProcessRecord proc = r.app;
            if (proc == null) {
                proc = mService.mProcessNames.get(r.processName, r.info.applicationInfo.uid);
            }
            if (proc == null || proc.thread == null) {
                showStartingIcon = true;
            }


        }
    }
}
Android Splash启动页秒开方案,适配全面屏 Android 应用启动问题: 由于zygote进程创建新进程运行app是耗时的,所以页面上会先出现黑屏或白屏,然后再进入app的第一个页面。黑屏或白屏是系统添加再第一个启动页面前面的一个临时窗口(StartingWindow)。 启动页样式和解决方案: 一、从UI拿到的启动页,由一个纯色或简单渐变色背景+若干图标组成,举例如下:页面上方一个logo 底部有一段话 这种启动页可以采用layer-... 阅读详情

相关推荐

Android Splash页秒开 Activity白屏 Activity黑屏

带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏https://blog.youkuaiyun.com/yanzhenjie1003/article/details/52201896 闪屏原因剖析StartingWindow(Preview Window) 我们正常开发中会在Activity的onCreate()方法中调用setContentView(View)设置该Activity的显示布局,那么问题就来了,既然我们设置了布局,为什么启动的时候还会白屏或者黑屏而不..

赵小龙同学的博客 345

Android报read问题

Android报read问题前言:问题描述:解决方案:资源链接: 前言: 该问题是在整理u盘时翻到的以前学习android时遇到问题时保留的记录,因为时间太久了,记不到是在哪里翻到的,所以就投了原创。 如果有知道原创是谁的,欢迎给我留言。我看到后会立马改的,同时这是第一次写文章,欢迎大家指正。 问题描述: Android报read问题 解决方案: 讲ig4icd32.dll文件复制到C:\WINDOWS\system32目录下 打开“开始-运行”输入regsvr32 ig4icd32.dll 回车运行

yogning的博客 567

Android Splash界面白屏、黑屏问题的解决方法

前言 我相信很多Android开发同学都遇到过这样的需求:  1.实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮.  2.点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了.  也相信很多同学都遇到了这样的困惑:  •第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下.  如果你也遇到这个问题,那就继续阅读这篇文章,我带大家去分析和解决这个问题. 解决方案 这里我们先给出解决方案,然后再具体分析产生原因哈.避免分析的大段文字阻碍了同学学习的热情. 解决方案非常简单,一句话概括

Android中读写权限申请

自Android 6.0开始,Google开始对系统权限做出严格的要求,有些权限必须用户同意才能调用相应功能,所以开发者需要调用权限申请的代码,弹出一个小窗口,向用户动态申请权限。

qq_51108920的博客 7975

Android中Splash应用启动白屏问题的解决方法

主要为大家详细介绍了Android中Splash应用启动白屏问题的两种解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

微信小程序云开发订单微信支付与小票和标签打印的完整高效流程

本片文章全文12000字,细致讲述从申请账户到小程序注册到打印机的选型最后到实现微信小程序云开发订单支付更新与小票,标签打印完整的高效流程。客户A在我们的点餐平台上点了一杯咖啡,所以客户要在选好后付款,在付款完成后商家的小票打印机和标签打印机打印出本订单的相关信息。

weixin_52312427的博客 3649

粗心犯得错误,有时会导致的idea报错误导

  当我在配置通过码云gitee来实现自动刷新配置时,因为提前写了个配置中不存在的age属性,原意是要通过该属性来测试自动刷新配置的是否成功,但由于提前写了该属性,而在gitee上的配置并没有写上该属性,运行服务的启动器时便开始了循环报错,还显示出了rabbitmq消息队列找不到,好一阵忙活,都找不到哪里出错~~   所以有时也不要盲目相信idea的报错,它也不是万能的,但是大多数的报错还是能够帮助我们找出错误的。 便是因为配置中,没写上test.age这个属性,然后就开始报错。。。 ...

qq_41486333的博客 410

2.1 跟网型控制原理与局限性

本文深入分析了并网变流器的跟网型(GFL)控制技术及其局限性。GFL控制将变流器视为受控电流源,依赖锁相环(PLL)跟踪电网电压,在强电网下表现良好,但在弱电网中面临严峻挑战。研究发现,当电网短路比降低时,PLL动态与电网阻抗的负交互会导致系统失稳,同时GFL变流器缺乏电压支撑能力和惯量响应能力,在故障时易脱网。相比之下,构网型(GFM)控制具有电压源特性,能自主构建电网电压,更适合弱电网环境。随着新能源占比提高,GFL控制正逐渐被更具主动支撑能力的GFM控制所替代。

技术工作者 996

Splash screen

Splash screens are simple graphics(n. [测] 制图学;制图法;图表算法) which load quickly upon startup, and assure the user that the application is loading promptly. The SplashScreen class was added to JSE 6, and sho

yigezhuanzai的专栏 473

CST 2023安装避坑指南:从下载到破解的完整流程(附常见报错解决方案)

本文提供CST 2023三维全波电磁场仿真软件的完整安装指南,涵盖从下载到破解的全流程,并附常见报错解决方案。详细解析安装步骤、许可证配置优化及高频问题诊断,帮助用户快速部署并优化软件性能,适用于射频电路设计、天线优化等场景。

7z8x2c4v6b9的博客 657

Modelsim安装教程以及管理员身份运行patch_dll.bat时找不到文件mgls.dll的解决

Modesim安装教程 Modesim版本有很多,但是安装方式大都相同,我们以modesim.10.5为例,电脑使用的是win10 64位,讲一下安装过程中的步骤以及出现问题的解决方法 一 安装 1.首先解压安装包,在解压的安装包内选择应用程序,右键选择管理员运行。 2.稍等一会,有的电脑会弹出是否允许modesim进行更改,选择 是 即可,然后出现下面的界面,点击下一步。 3.弹出此界面选择安装路径,选择安装路径,我是在D盘新建的文件夹,直接把文件夹中的路径复制在框内。文件夹名称切记不要带中文 4.

weixin_48564372的博客 1万+

Android Splash界面解决白屏、黑屏等问题

前言我相信很多Android开发同学都遇到过这样的需求: 实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮. 点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了. 也相信很多同学都遇到了这样的困惑: 第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下. 如果你也遇到这个问题,那就继续阅读这

小一的专栏 4484

基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战解析

本文详细解析了基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战方案。从环境搭建、驱动安装、双雷达配置、外参标定、时间同步到点云融合核心实现,全面介绍了技术要点与避坑指南,并提供了工程化部署与性能优化建议,助力开发者高效实现高精度点云合成应用。

ss78901的博客 1093

android AppCompat, splash启动白屏(黑屏)全屏,去掉状态栏,以及splash与虚拟按键遮挡

在做项目是,需要加一个splash,以美化应用,消除app启动等待的乏味、 一、使用环境 AppCompatActivity 二、目标与一般实现 一般是新建一个activity,但是有黑屏 三、实现启动无白屏(黑屏) 四、实现在splash隐藏状态栏,以及actionbar 五、除了设置启动背景图,还专门增加一个splashActivity 以实现

Robert Zhang 6420

LangGraph 实战教程:搭建一个智能办公多Agent协作平台

只存储必要的信息:不要把所有的原始数据都存储在状态中,比如销售数据可以存储在数据库或向量数据库中,状态中只存储数据的 ID 或摘要。使用类型提示:避免类型错误,提高代码的可维护性。支持增量更新:LangGraph 默认支持状态的增量更新(通过reduce函数),比如messages列表可以通过追加新消息的方式更新,而不是每次都重新创建整个列表。Normal Edge 的定义非常简单,只需要在StateGraph对象(稍后会详细讲解)上调用add_edge# 创建一个 StateGraph 对象。

SuperAGI2025 221

CryoEM - 使用 ChimeraX 工具 操作 冷冻电镜的 MRC 密度图(Density Map) 教程

由冷冻电镜 CryoSparc 软件所生成的 Volume,需要观察其内部结构,建议使用 ChimeraX 进行操作。

AGI 4960

android splash白屏_Android Splash界面白屏、黑屏问题的解决方法

前言我相信很多Android开发同学都遇到过这样的需求:1.实现一个Splash界面,界面上有应用相关的背景图片和一个开始按钮.2.点击按钮之后进入主页,以后用户再打开应用就不显示这个Splash界面了.也相信很多同学都遇到了这样的困惑:•第二次进入应用,尽管你在Splash界面已经直接跳转到首页了,但是还是有个白屏或者黑屏或者带ActionBar的白屏闪现一下.如果你也遇到这个问题,那就继续阅读...

weixin_35411438的博客 403

AI Agent Harness Engineering 开发效率工具:Prompt工程、调试与监控平台

随着AI Agent技术从原型探索走向企业级落地,开发者普遍面临Prompt迭代无版本管控、Agent执行黑盒无法定位错误、上线后无监控导致故障频发、多团队协作效率低下四大核心痛点,据2024年LLMOps行业报告显示,没有配套工具链的Agent开发团队平均迭代周期是有工具链团队的6倍,线上故障率高达23%,平均资源浪费超过60%。

小白菜的博客 425

android splash白屏_解决Splash白屏黑屏问题

当系统启动一个App时,zygote进程会首先创建一个新的进程去运行这个App,但是进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态的,这极大地降低了用户体验,Android需要及时做出反馈去避免这段迷之尴尬。于是系统根据你的Manifest文件设置的主题颜色的不同来展示一个白屏(黑屏)。而这个白屏(黑屏)正式的称呼就是Preview Window,即预览窗口。这篇文章主要剖析App冷启...

weixin_39661353的博客 460

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android:冷启动状态下Splash界面拉伸问题解决

问题现象 为了防止在app启动时出现黑屏或者白屏问题。道长公司app选择冷启动处理。实现方式如下: 在styles文件中添加自定义主题 <style name="ThemeSplash" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:background">@dra...

雨山的博客 1053

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏

带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏 版权声明:转载必须注明本文转自严振杰的博客: http://blog.youkuaiyun.com/yanzhenjie1003 本篇博客要剖析和解决的两个问题: 1. APP启动时白屏/黑屏、Activity打开时白屏/黑屏。 2. APP启动速度慢,如何实现点击ICON后APP秒开。APP启动加速...

布莱克‌ 6万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

activity启动时会有黑屏/白屏

其中bg_splash是一张全屏的启动图片,在这里设置的图片,在点击app图标的那一刻就会加载。因此去掉白屏或黑屏, 1. APP启动黑/白屏的原因 首先,我们需要知道一个APP启动时,屏幕上都会有什么。在我们的APP里,显示在屏幕上的自然是各个View了,而我们的View又都是在Activity的onCreate()方法中调用了setContentView()方法,传入了我们的layout文件,也就是我们理论上应该看到的Activity内容。但是Android系统在启动一个新的Activity时,首先进行

yzpbright的博客 1192

android 隐藏虚拟按键白屏了,android AppCompat, splash启动白屏(黑屏)全屏,去掉状态栏,以及splash与虚拟按键遮挡...

在做项目是,需要加一个splash,以美化应用,消除app启动等待的乏味一、使用环境使用Android Studio activity 继承 AppCompatActivity, 实现splash功能测试环境,没有虚拟返回按键的安卓手机和带有虚拟按键的手机,测试虚拟按键对splash的影响二、目标与一般实现一般实现splash是新建一个activity,然后在这个acrivity的xml文件里设置...

weixin_29712031的博客 492

android splash白屏_Android启动页黑屏及最优解决方案

前言相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。那么这个黑屏或者白屏到底是怎么一回事呢?它的最好的解决方案应该是怎样的呢?今天我们认真的讨论一下这个小问题。本次项目的demo:https://github.com/ladingwu/Splash历史原因当系统启动一个APP时,zygote进程会首先创建一个新的...

weixin_32786041的博客 256
上一篇: [Android]一个简单的对象池
下一篇: [Android]查看代码混淆后的日志
runstoppable
博客等级 码龄10年 1粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值