快速解决ionic安卓主题启动时短暂的黑屏或白屏问题

Ionic跨平台App故障排查:四层模型与CDP深度调试实战 Ionic作为基于WebView的跨平台框架,其Bug常源于Web层、框架层、桥接层与原生层的交界地带。理解其运行原理——尤其是生命周期钩子触发时机、Capacitor桥接机制及WebView渲染约束——是高效Troubleshooting的前提。技术价值在于将模糊的‘白屏’‘卡死’转化为可定位、可复现、可自动化的诊断问题。典型应用场景包括iOS分屏白屏、Android热更新样式错乱、插件Promise静默挂起等。借助Chrome DevTools Protocol(CDP)和Safari develope 阅读详情

这个问题其实是安卓主题的问题,在ionic在通过CLI生成项目的时候,官方就没有很好考虑到这个问题,启动时的短暂黑屏这个用户体验很不好,下面我们来着手解决它。

步骤

  • 首先在config.xml 中配置:<preference name="SplashScreen" value="splash" />
  • 其次在路径为 platforms/android/res/values/ (备注:红色的Android是小写的)下新建styles.xml,编辑如下:

    <resources>
        <style name="Theme.AppStartLoadTranslucent" parent="android:Theme">
            <item name="android:windowBackground">@drawable/screen</item>
            <item name="android:windowNoTitle">true</item>
        </style>
    </resources>
    
  • 在 platforms/android/AndroidManifest.xml 中的android:name为”MainActivity”的activity(备注: 一般都是第一个activity),修改它的theme值,如:android:theme="@style/Theme.AppStartLoadTranslucent"

  • 通过上面的方法,我们再次run或build的时候, 应用启动,直接显示的是启动页splash,而不再是短暂的黑屏或白屏之再到启动页了。

  • 上述配置存在的问题:设置<item name="android:windowIsTranslucent">true</item> 为透明时候,当用户切换多个应用的间隙时会存在透明引起的不良体验。所以没用这个。

  • 备注:如上使用windowIsTranslucent方式还有一个缺点就是界面转换时会看到启动页半透明的状态,并不完美.

参考

Android启动页合规实现:SplashScreen API与Theme配置详解 Android启动页(Splash Screen)是App首屏体验的关键环节,其本质是系统在Application初始化完成前,通过Theme和AndroidManifest.xml协同控制的视觉占位机制。其核心原理在于解耦UI呈现与业务初始化——由系统级SplashScreen API负责毫秒级首帧渲染,开发者仅需通过setKeepOnScreenCondition声明退出条件。该方案显著提升冷启动稳定性,规避黑屏/白屏、闪退及Google Play审核风险,广泛应用于金融、电商、工具类App的Andro 阅读详情

相关推荐

Ionic4—splash启动页前黑屏问题

目录 一、概述 二、详解 一、概述 splash启动页加载前闪现的黑色背景其实出现在看到界面第一帧之前,为提高用户体验需将这个黑色背景替换成用户喜欢看到的画面或让其透明化。 二、详解 第一步:修改platforms/android/app/src/AndroidManifest.xml android:theme="@style/Theme.AppStartLoadTransl...

雷雨天的雷胖子 743

ionic项目启动app黑屏/白屏的问题

ionic项目启动app黑屏/白屏的问题刚接触Cordova,然后使用Ionic创建了一个项目,运行在android手机上时,发现了几个问题: 1.每次启动时黑屏 2.启动页面跳转主界面时黑屏 3.直接退出,然后重新打开的时候不再显示启动页 这显然和原生的app不一致.尝试了一些方法,最终要下面的方法解决了: 一.安装插件 $ cordova plugin add cordova-plugin-sp

qq_28572663的博客 1194

cordova-plugin-splashscreen设置启动页面和图标

一、在App中对于应用图标可以直接修改res/icon/xxx下的png图片就可以了。 对于程序启动页面(注:一张png图片),在deviceready之前会一直显示这张图片,如果不设置的话在App启动的时候闪一下白屏。如果想修改启动图片需要安装:cordova-plugin-splashscreen 安装命令: cordova plugin add cordova-plugin-splas

天马3798 1万+

apk+html启动页,uniapp打包app一直在启动页那个页面

新建项目 然后在index页面 写入一个webview 一个h5的页面 然后打包app apk文件。不勾选等待首页渲染完毕后在关闭splash图 以及启动界面显示等待雪花var wv; //计划创建的webviewexport default {onReady() {// #ifdef APP-PLUSvar currentWebview = this.$mp.page.$getAppWebvie...

weixin_42399388的博客 1462

SAP批量程序(一)-静态批量EX,FX和期间批量MB,WB和TB

SAP批量程序(一)-静态批量和区间批量

weixin_38974136的博客 5483

学习STM32的无人机控制

设计并实现无人机控制系统,使用STM32单片机进行控制。无人机控制系统主要包括飞行控制、姿态控制、定位导航等功能。以下是一个基于STM32的无人机控制系统的代码案例。以上是一个基于STM32的无人机控制系统的代码案例,包括飞行控制、姿态控制和定位导航等功能。请根据实际情况进行修改和完善。

qq_67153941的博客 839

IonicApp启动页面之后出现黑屏的解决方法

针对在ionic项目中splashscreen消失后会出现几秒的黑屏,再出现app页面的情况

nnnnnox 1262

从零到一:嵌入式车载通信中间件VSOMEIP的跨平台构建之旅

本文详细介绍了嵌入式车载通信中间件VSOMEIP的跨平台构建过程,重点解析了交叉编译环境配置、Boost库编译、VSOMEIP定制化编译等关键技术环节。通过实战案例展示了在ARM架构嵌入式设备上的部署与调试方法,为开发者提供了一套完整的VSOMEIP嵌入式应用解决方案。

lilh34434的博客 198

ionic安卓启动时黑屏解决方法

在路径为 platforms/android/res/values/ 下新建styles.xml,编辑如下: <resources> <style name="Theme.AppStartLoadTranslucent" parent="android:Theme"> <item name="android:windowBackground...

zhichaosong的博客 828

QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起

量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is

weixin_33892359的博客 457

使用ShaderGraph制作URP各向异性

URP上用shaderGraph实现各向异性效果,解决只能用shader的问题

dreamform的专栏 1099

ionic android 打开空白

  ionic cordova plugin remove cordova-plugin-ionic-webview

lemosen_025的博客 1396

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1132

关于ionic跳转黑屏问题

关于ionic跳转的时候黑屏我在做项目的时候发现了,一直没时间去解决,今天正好有空把它搞定了,分享一下给大家。 黑屏原因我给人理解是缺少一个父容器背景去包裹我们的目标页面,所以在尚未加载到目标页面的时候就显示黑屏。 我的解决方案是添加父容器。如果大家指导ionic的tabs就应该知道什...

chuihuangke7887的博客 280

欺诈文本分类微调(一):基座模型选型

通义千问Qwen2具有0.5B、1.5B、7B、72B等一系列参数大小不等的模型,我们需要做的是从大到小依次测试每个模型的能力,找到满足自己需要的最小参数模型。依1.5B和1.5B-Instruct的主要区别:按照官方文档,前者是预训练模型,后者是经过指令微调的模型。

golfxiao的专栏 2656

RK3568 linux-5.10 rk809 声卡实现spk hp自动切换

RK3568 linux-5.10 rk809 声卡实现spk hp自动切换

目前从事linux驱动开发,多交流多学习吧 1096

使用cordova插件解决ionic页面在手机上启动出现黑频问题

必要条件:安装cordova环境 添加cordova-plugin-splashscreen插件 在cordova项目中打开cmd添加插件 cordova plugin add cordova-plugin-splashscreen 插件添加完后可通过cordova plugin ls查看是否添加成功,也可在项目中查看plugins文件夹中是否有cordova-plugin-

紫箫风铃的博客 3469

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ionic 启动页前黑屏 启动页后白屏问题

解决启动页后白屏问题 在config.xml里 &lt;preference name="ShowSplashScreenSpinner" value="false" /&gt; &lt;preference name="ScrollEnabled" value="false" /&gt; &lt;preference name="android-minSd

不会功夫的茶的博客 1048

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ionic入门之启动后会有短暂的白屏和黑屏

config.xml 删除 添加

InforStack 1681

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android启动页黑屏及最优解决方案

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

weixin_34044273的博客 1295

启动页黑屏解决办法

在res/values/styles.xml中添加Them <style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Black"> <item name="android:windowBackground">@drawable/loading</ite...

weixin_33974433的博客 280

ionic2 一.基础 (6)常见问题 启动后会有短暂的白屏和黑屏

ionic2 常见问题 启动后会有短暂的白屏和黑屏

wlf的博客 2666

加载HTML5出现黑屏是咋回事,【报Bug】项目发布到内置H5浏览器后,黑屏。其他项目正常...

这是新的日志,上次只截了一部分2020-10-02 10:00:55.580 [WARNING:] uniapp compiled errorOccurred====== "进程已崩溃"2020-10-02 10:01:15.240 [INFO:] [RunWeApp] appid: "UNIBBB7C1D" mp_appid: "" name: "英雄代练"2020-10-02 10:01:1...

weixin_32365089的博客 1107

app启动短暂白屏

1.在styles.xml文件中AppTheme中添加以下两个属性 name="android:windowIsTranslucent">true name="android:windowNoTitle">true 2.在manifest.xml文件application节点中设置android:theme="@style/AppTheme"

s_nshine的博客 520

关于app启动时会出现短时白屏现象解决办法

出现短时白屏的原因:看了很多博客大致觉得原因是重写了application并且在里面方法写得比较多,所以开始应用没有反应过来加载出界面解决办法:给应用首次打开的activity加一个背景,例如当前app的iconandroid:theme="@style/AppWelcome"<style name="AppWelcome" parent="MyThemeDay"> <item na

furtureWithYou的博客 1391
上一篇: 快速解决gradle下载慢的问题的小技巧
下一篇: ionic后退造成的闪退解决方案
Wang's Blog
博客等级 码龄12年 7434粉丝 2421原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值