APP启动页的正确配置方式

在APP的启动页面(Splash Screen)好多都是等待3秒,好一点的还可以跳过,但是有的跳过也是假的按钮。当然像一些大厂的APP,像网易新闻等启动页面都是广告,人家要收广告费的。但是,对于一些普通的APP,有的也出现等待三秒的启动画面,出现一个大大的logo,好像告诉用户他打开的是什么应用,加深用户的映像,这完全是浪费用户的时间,给用户很差的体验!其实我只想快点进入APP啊!!!而且有些APP启动时候都会出现一个短暂的空白界面,现在我们就来避免这些已知的问题。


你看到在这个APP的启动页面所花费的时间正是APP所初始化配置自己的时间,第一次启动也是这样的,所以第一次是最慢的,但是如果有缓存了,那么每次再打开应该是立即打开了吧

实现一个启动页面(Splash Screen)
实现一个启动页面可能和你想象的有点不一样。这个启动的页面必须是立即准备好的页面,即使是在Activity中加载一个xml页面也要是立刻加载好的。
所以,一般不会用layout来当启动页面。取而代之的是用一个颜色作为你的Activity的主题背景,接下来,在你的res/drawable文件夹下创建一个XML的drawable。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@color/gray"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>

这里,我设置了背景颜色和一张居中的图片。
然后,在主题中,将这个设置为Activity的背景。打开你的styles.xml然后为你的Activity添加一个新的主题。

  <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/background_splash</item>
    </style>

</resources>

在你新的SplashTheme中,设置窗口背景属性为我们之前写的XML的drawable,就是layer-list的xml。然后在你的AndroidManifest.xml中配置一下就好了。

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

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

最后,在你的SplashActivity.class文件中,编码直接进入主页面就行了。

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

这里发现你并没有为Activity设置layout视图,视图来自于主题!所以,这应该是最快的方法启动页面了(相比较加载layout视图)。如果你一定要通过加载layout来显示页面,可能你初始化完了才跳出页面,这时已经有点迟了,所以,你应该考虑用极短的时间来显示加载layout视图.
正确的打开它
当你完成这些步骤,你就正确的完成了启动页面。
这里写图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Uniapp启动后白屏的原因可能有很多,下面我们就来一一分析。 首先,可能是由于App没有正确配置启动。在uniapp中,启动一般是由manifest.json文件中的"app"字段中的"splashscreen"属性设置的。如果这个属性没有正确配置,就会导致启动后出现白屏。 其次,可能是由于启动的相关资源加载失败。如果启动需要依赖某些资源进行渲染,但是这些资源没有正确加载或加载失败了,就会导致启动后出现白屏。 另外,如果某些自定义组件或插件存在兼容性问题,也可能导致启动后出现白屏。针对这种情况,我们需要对代码进行分析,找出问题所在,并进行修复。 最后,可能是由于代码逻辑问题导致的白屏。例如,如果在启动的代码中使用了大量的异步操作,就可能导致启动后出现白屏。对于这种情况,我们可以对代码逻辑进行优化,将异步操作尽可能的提前或延后,避免在启动中执行。 综上所述,要解决uniapp启动后出现白屏的问题,需要进行综合性的分析和排查,并根据具体情况进行相应的修复措施。 ### 回答2: Uniapp启动后白屏通常是因为加载面的过程中出现了一些问题。这种问题往往很难找到,因为它可能是由多个原因导致的。以下是我总结出来的可能导致Uniapp启动后白屏的几个可能原因和解决方法: 1.网络问题:在一些情况下,网络问题可能导致Uniapp启动后白屏。解决这个问题的一种方法是要确定您的uniapp应用程序是否需要使用互联网连接来加载某些内容。如果是这样,那么检查您的互联网连接和相关网络设置是否正确。 2.js代码错误:Uniapp启动后白屏也可能是由于您在JavaScript中编程时出现了一些错误导致的。解决这个问题的方法是检查您的代码的语法并修复它们。或者您可以使用调试工具来跟踪代码并查找错误。 3.内存问题:在某些情况下,Uniapp启动后白屏也可能是由于您的设备内存不足。这种情况下,您需要优化您的代码以使用较少的内存。使用Uniapp提供的资源压缩工具,减少资源文件的大小和数量。 4.图片问题:Uniapp启动后白屏也可能是由于您的图片资源加载过程中出现问题,例如,图片文件被删除、损坏或访问权限问题。这种情况下,请检查您的图片资源的路径和访问权限,以确定它们的可用性。 总结起来,在遇到Uniapp启动后白屏的问题时,您可以尝试使用上述方法来解决它。但如果您无法找到解决方法,您可以考虑寻求Uniapp社区的帮助或咨询专业的开发人员。 ### 回答3: Uniapp启动后白屏是一种常见的问题,通常会导致应用无法正常启动。这种情况一般是因为应用未能正确加载所需的资源或组件,或者因为资源加载时发生了错误。一些常见的可能导致白屏问题的原因包括: 1. 资源加载错误:应用启动所需的资源未能成功加载,或者加载时出错。例如,一些图片或CSS文件可能无法加载完成,导致整个应用无法正确显示。 2. 编译器问题:在使用Uniapp的过程中,可能会遇到编译器出现错误的情况。这些错误可能会导致应用无法正常启动或运行。 3. 插件问题:如果你在使用Uniapp的过程中安装了一些插件,这些插件可能存在不兼容或错误解析问题。这些问题可能会导致应用启动后无法完全初始化。 为了解决Uniapp启动后白屏问题,你可以尝试以下几种常见的解决方案: 1. 检查资源加载是否正确:检查应用加载的资源是否都加载成功,并且路径是否正确。如果发现有错误或丢失的资源,可以尝试重新加载或修复它们。 2. 更新或更改插件:如果你使用了Uniapp插件,并且出现了白屏问题,可以尝试更新或更改这些插件。另外,可以尝试删除不需要的插件或者通过调整加载顺序来解决冲突和兼容性问题。 3. 检查编译器输出:如果你遇到了编译器问题导致的白屏问题,可以尝试检查编译器输出,以寻找错误信息并修复之。 总之,解决Uniapp启动后白屏问题的关键是仔细检查和测试应用程序的所有方面,并根据需要进行更新和更改。通过排除明显的问题和使用常用的解决方案,可以最大限度地提高应用程序的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值