关于应用的Splash启动页

综合了许多splash的写法,也看过有的splash写法会出现一些空白页等问题。在此处给大家贴一下我的这个demo中的splash页,有问题大家可以留言沟通,希望能给大家带来 帮助。

项目地址:https://github.com/beibeiMary/NewsApplication-Demo.git

项目片段

首先创建一个handler类

public class Splashhandler implements Runnable{
    Context context;
    public Splashhandler(Context context){
        this.context = context;
    }

    @Override
    public void run() {
        Intent intent = new Intent(context, MainActivity.class);
        context.startActivity(intent);
    }

    /**
     * 创建一个跳转页面的方法
     */
}


写SplashActivity类

public class SplashActivity extends AppCompatActivity {
    Splashhandler splashhandler;
    Handler x;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        showSplash();

    }

    /**
     * 创建一个handler
     * 最好不要在oncreate调用splashhandler,oncreate在activity的生命只执行一次
     */
    public void showSplash() {
        x = new Handler();
        splashhandler = new Splashhandler(SplashActivity.this);
    }

    /**
     * 如下两个方法只是想让线程销毁掉
     */
    @Override
    protected void onPause() {
        super.onPause();
        if(x!=null&&splashhandler!=null){
            x.removeCallbacks(splashhandler);
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(x!=null&&splashhandler!=null){
            x.postDelayed( splashhandler, 3000);
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        finish();
    }
}

写两个方法,主要是为了让线程销毁掉,场景如下:

1.用户打开app的一瞬间,想上厕所,关掉app(app就真的关闭了)~~(如果写在oncreate中的话,app在几秒之后还要自己启动,主要是因为页面只是finish掉了,但是并没有释放。)

2.用户打开app的一瞬间,忽然幺幺零给他打了一个电话,这时候app停止了,电话结束后,页面又恢复如初了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值