activity启动黑屏的解决方案

这边做了一个修改字体大小的功能,跳转出来后需要重启主页,但是总是会黑屏,一步步排查后发现是主页启动的时候就是会黑屏,主要是oncreate和onresume中做了太多的动作,导致setcontentview的姿势久了一些,这也是android中预加载的机制。

一、activity中的重启方法

1、简单粗暴

 this.recreate();

2、深思熟虑,去动画


            Intent intent = getIntent();
            overridePendingTransition(0, 0);
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            finish();
            overridePendingTransition(0, 0);
            startActivity(intent);

二、去处预加载的style

1、主要是这一句

 <item name="android:windowDisablePreview">trueitem>

其它的属性您随意

  

2、当然你可以设置这个预加载页的背景图

三、建议

做一个对话框延迟销毁的操作增加点用户的体验,不会让界面看起来是卡死的状态

   showDialog();
        //2s后关闭  延迟执行任务 重启完主页
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                hideDialog();
                finish();
            }
        }, 2000);

四、have a nice National day!近期猥琐发育了一段时间,积累了一些笔记,预计会在放假期间共享出来,敬请期待….共勉

你可能感兴趣的:(android路)