最近在用MUI开发APP,总体效果,在IOS上,是完美的,但是在低端的Android手机上,就会出现性能问题,我个人觉得最严重的是,就是首页,就是APP打开的第一个页面,在iOS上,由于性能高,所以,基本能流畅切换,但是到了Android上,就会出现令人讨厌的白屏了。

        本次我就自我谈谈我处理的逻辑,首先,我是有一个index.html页面的,这个页面作为一个入口页面,然后APP打开的时候,会进入这个页面,然后我在plusready里面检查,APP是不是第一次启动,如果是的话,就跳转到欢迎页面,如果不是,就进入登陆页面。这里面,就会出现白屏了。因为APP第一次进来,页面还有加载完毕,所以,会出现白屏。我的处理方法如下:
    一、设置一个启动图片,然后再手动关闭启动界面,如下:
二、到index.html页面,添加以下代码:
mui.plusReady(function() {
setTimeout(function() {
mui.preload({
id: 'html/login.html',
url: 'html/login.html'
})//预打开登录页
}, 100);//延时加载登录页,这个可以不用演示,你可以放在mui.int里面
setTimeout(function() {//这里面也用了一个延时,因为一般登陆页面,只要不是太多的东西,200毫秒应该能满足了,时间长短,自己把控了。
/*
* 这里获取本地存储中的字段,来判定是否第一次打开app;
* 注意,只需要判定有这个值就可以了,因为只有两种情况:
* 1、有这个值,并且值是true
* 2、压根就没有这个值
* http://www.html5plus.org/doc/zh_cn/storage.html#plus.storage.getItem
*/
/*
这里用的是版本的名字,是为了后续更新版本后,我们更新应用或者升级版本的时候,把这个相应的修改
一下即可进入新的引导页面了,如果固定一个,以后更新版本,就看不到欢迎页了,这个看个人需求了。
*/
var first = plus.storage.getItem("version1.3");
if (first) { //如果已经有值,那么就代表不是第一次打开,则直接进入主页
plus.navigator.closeSplashscreen();//关闭启动页
mui.openWindow({
id: "html/login.html",
waiting: {
autoShow: true
},
show: {
aniShow: 'pop-in'
}
});
} else { //否则将打开欢迎界面
plus.navigator.closeSplashscreen(); }
}, 500) }, false)
三、到了这里,大家发现,如果index.html是空白的,虽然白屏的时间短了许多,但是还是能看到白屏,依然是我不能容忍的。所以,这里面有个小技巧,就是,你在index.html页面,设置一个背景,这个背景颜色,或者图片,和登陆页面差不多的(就是没有登陆输入框和按钮的那种图片或者背景)。这样的话,就基本能解决白屏问题了。
 
 
 
 
好了,本次教程到此结束,转载请保留原作者地址以及姓名(本人无偿分享经验,有偿接单制作APP,有需要可以联系我。);
 
作者:南宫萧尘  
E-mail:314791147@qq.com
日期:2016-04-03

MUI APP防止登陆页面出现白屏的更多相关文章

  1. 【小贴士】【stringify神BUG】【localstorage失效】【消灭Safari alert框】【是否延迟加载】【页面10px白屏】

    前言 最近碰到几个恶心问题,也发现一点优化技巧,以及对Hybrid知识的一些整理,这里便一并拿出来做分享了,关于Hybrid的调试,会是我今后一个重点 我的博客首先是学习笔记,方便自己做知识沉淀,以后 ...

  2. ios中iframe页面出现白屏问题

    最近用ionic3开发的一个项目在ios中出现了白屏的问题 banner轮播图跳转网页 使用了iframe 但是却时不时的出现白屏现象 在android中一切正常 网上查资料发现 是因为ios不允许访 ...

  3. Android APP应用启动页白屏(StartingWindow)优化

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 StartingWindow 的处理方式: 使用系统默认的 StartingWindow :用户点了应用图标启动应用,马上弹出系统默 ...

  4. 解决 APP启动白屏黑屏问题

    闪屏页简介 闪屏页,我们手机上的每个 APP 几乎都有自己的闪屏页,就是在真正进入程序前,会有一个页面停顿几秒钟.其实我们完全可以充分利用好这几秒钟做很多的程序初始化了启动. 为什么我的 APP 启动 ...

  5. 提升html5的性能体验系列之一避免切页白屏

    窗体切换白屏的现实问题 HTML5的性能比原生差很多,比如切页时白屏.列表滚动不流畅.下拉刷新和上拉翻页卡顿.在低端Android手机上,很多原生App常用的功能和体验效果都很难使用HTML5技术模拟 ...

  6. [重磅] 让HTML5达到原生的体验 系列之中的一个 避免切页白屏

    非常多人都想.甚至曾使用HTML5开发跨平台App.而且想达到原生App的体验. 最后的结果都是无奈的放弃.HTML5貌似美好,但坑太多.想做到原生App的体验差点儿不可为. 也曾有过著名的faceb ...

  7. Xamarin.Android splash页面瞬间响应_避免APP启动闪白屏

    Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击 ...

  8. android开发之提高应用启动速度_splash页面瞬间响应_避免APP启动闪白屏

    Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击 ...

  9. nwjs解决页面透明化,启动时显示白屏的问题

    这些天在弄nwjs还好能访问外网,可以看到官方的文档,要不然真是欲哭无泪了,找不到相关的文档解决不了问题.主要说说怎么页面透明化的时候,出现白屏一闪问题吧.主要工具: AngularJS+node+n ...

随机推荐

  1. 关于Linux系统下错误“浮点数异常(核心已转储)”的分析

    1.问题发现 有这样一段代码: #include <stdio.h> int main() { int a, b, num1, num2, temp; printf("pleas ...

  2. Smack4.1注册新用户

    更新了smack4.1后,发现之前的注册表单不能使用了,很多属性都不能使用. 发现4.1把帐号的出来都集中到 org.jivesoftware.smackx.iqregister.AccountMan ...

  3. Python之路【第六篇】python基础 之面向对象(一)

    一.三大编程范式 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比 ...

  4. bootstrap按钮样式

    <a class='btn' href='javascript:;'>常规按钮</a> <a class='btn btn-small' href='javascript ...

  5. mongodb分片配置

    通过YUM库自动安装Mongodb 手动安装配置mongodb 验证mongodb主从复制过程 验证mongodb副本集并实现自动切换 实验mongodb使用gridfs存放一个大文件 1.创建数据目 ...

  6. ajax post提交form表单 报400错误 解决方法

    昨天晚上做项目遇到了一个奇怪的问题,我用ajax提交一个form表单,后台Java方法用的是一个实体接,但是他根本不进方法体中,直接给我一个400的错误,一开始我以为是我路径的问题(尴尬),结果直接访 ...

  7. 使用Aspose.Cells读取Excel

      最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...

  8. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  9. ORACLE冷备份与恢复

    ORACLE备份和恢复有三种方式: (1)数据泵(expdp/impdp) (2)冷备份 (3)RMAN备份 就分类而言,(1)和(2)统有称为"冷"备份,(3)称为"热 ...

  10. ABP理论学习之验证DTO

    返回总目录 本篇目录 验证介绍 使用数据注解 自定义验证 标准化 验证介绍 首先应该验证应用的输入.用户或者其它应用都可以向该应用发送输入.在一个web应用中,验证通常要实现两次:在客户端和服务器端. ...