专栏首页Android进阶之路Android全方位性能调优:启动页面(闪屏页面)的实现
原创

Android全方位性能调优:启动页面(闪屏页面)的实现

闪屏页面是指APP刚启动时的页面会自动跳转到主页面

单单实现闪屏页面非常简单。

闪屏界面的作用:

1.展示自己软件的logo,口号标识语等

2.作为广告平台,获取利益

3.加载下一页面(其他Activity或全局)所需要的数据

4.检查更新

首先目录结构

SplashActivity

package com.hxh.splashactivitydemo;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Window;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.RelativeLayout;
public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 设置没有标题栏
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_splash);
        RelativeLayout layoutSplash=(RelativeLayout) findViewById(R.id.activity_splash);
        AlphaAnimation alphaAnimation=new AlphaAnimation(0.1f,1.0f);
        alphaAnimation.setDuration(1000);//设置动画播放时长1000毫秒(1秒)
        layoutSplash.startAnimation(alphaAnimation);
        //设置动画监听
        alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }
            //动画结束
            @Override
            public void onAnimationEnd(Animation animation) {
                //页面的跳转
                Intent intent=new Intent(SplashActivity.this,MainActivity.class);
                startActivity(intent);
            }
            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });

    }
}

MainActivity主界面

package com.hxh.splashactivitydemo;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.Window;

/**
 * Created by HuXiaoHui on 2017/10/9.
 */

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //去掉标题栏
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
    }
}

activity_splash.xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_splash"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/splash_background"
    tools:context="com.hxh.splashactivitydemo.SplashActivity">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="150dp"
        android:text="SplashDemo"
        android:textSize="50dp"
        android:textColor="#fff" />
</RelativeLayout>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100dp"
        android:text="欢迎进入主界面"
        android:textSize="30dp"
        android:textColor="#f00" />
</RelativeLayout>

最后还需要更改AndroidManifest.xml

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity" >
        </activity>
    </application>

首先在AndroidManifest.xml中注册新加入的SplashActivity。 然后将的内容放在SplashActivity下。 意思就是让SplashActivity的内容先启动。然后再跳转到MainActivity

最后

如果你看到了这里,觉得文章写得不错就给个呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

希望读到这的您能转发分享关注一下我,以后还会更新技术干货,谢谢您的支持!

转发+点赞+关注,第一时间获取最新知识点

Android架构师之路很漫长,一起共勉吧!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 客户端骨架屏详解

    一直以来,无论是Web还是iOS、Android的应用中,为了提升应用的加载等待这段时间的用户感知体验,各种技术层出不穷。其中,尤以菊花图以及由它衍生各种加载动...

    xiangzhihong
  • Android 性能优化—— 启动优化提升60%

    一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序

    Android技术干货分享
  • Flutter启动页(闪屏页)的具体实现及原理详析

    现在大部分App都有启动页,那么为什么要有启动页?这是个值得思考的问题,如果没有启动页会怎样,大部分的App会白屏(也有可能是黑屏,主题设置有关系)非常短的时间...

    砸漏
  • Android App性能优化全方面解析

    为了让各位读者过好本次国庆节和中秋节,假日期间我将会推送一些非技术类文章,让你的假日不在孤单迷茫!

    开发者技术前线
  • Android日常开发问题总结:这些问题火候不够,随时变成删库跑路!

    日常开发中碰到了各种开发问题,捡选了一部分分享出来。有些问题非常简单,属于编码规范类,有些属于特定情况下碰到的问题,不是很常见。不太准确的地方,欢迎共同探讨下~

    Android技术干货分享
  • 你必须要掌握的Android冷启动优化

    事件发生在发包上线的前两天,在某某云进行移动测试时,提示冷启动速度低于平均值的问题,之前自己也曾尝试过优化,但是发现效果并不是很明显,作为一个有追求的开发者,趁...

    用户1269200
  • 开发者选项详解

    然后不可免得去想,这个东西是什么,有什么用.这篇文章就是来解决这些个问题得.

    云深无际
  • Android性能优化(一)

    一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序。

    xiangzhihong
  • 一触即发——App启动优化最佳实践

    用户1907613
  • Android App常规测试内容

    对于质量平台(接口测试,自动化测试,性能测试,兼容性,数据收集)只是一概而过,这个无法一一说清楚。但对于测试过程要注意的内容,我觉得可以慢慢丰富起来,本章内容如...

    FunTester
  • Android 面试之必问性能优化

    对于Android开发者来说,懂得基本的应用开发技能往往是不够,因为不管是工作还是面试,都需要开发者懂得大量的性能优化,这对提升应用的体验是非常重要的。对于An...

    xiangzhihong
  • 5分钟教你打造一个秒开的 Android App

    近日在开发过程中,发现每次点击 app 从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。

    MatthewF
  • Android Q 要来了,一个影响国内 90% App 的适配项!

    Android Q 在今年 Q3 就准备发布正式版了,但有一个影响 90% 应用的适配改动。

    Android技术干货分享
  • Android开发者的Flutter入门(二)

    上篇文章Android开发者的Flutter入门(一)讲解了用Flutter开发一个简单的新闻app的大体流程以及主要功能的实现。其中略过了一些功能的实现细节。...

    HowHardCanItBe
  • 优化App冷启动,实现启动页错觉秒开

    APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态的,这可能...

    紫兮木溪
  • App 启动优化

    adb shell start am -W packname/首屏activity

    Yif
  • NA嵌入Flutter页面

    杨充
  • 【技巧】ionic3优雅解决启动前、后黑白屏问题

    启动前黑白屏问题,仅存在于android,是android应用的通病,ionic表示这锅它不背。 具体操作时,当我们点击桌面图标启动APP时,有时会闪一下黑色...

    IT晴天
  • 支付宝超级 App 的弹性动态架构实践

    本文基于重岳在 2019 年 DevOps 国际峰会北京站的分享内容进行总结,希望通过本篇文章介绍近些年来支付宝面向超大业务体量的挑战,在移动端构建弹性动态架构...

    开发者技术前线

扫码关注云+社区

领取腾讯云代金券