这边做了一个修改字体大小的功能,跳转出来后需要重启主页,但是总是会黑屏,一步步排查后发现是主页启动的时候就是会黑屏,主要是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">true</item>
其它的属性您随意
<style name="AppTheme.Main" parent="@style/AppTheme">
<!-- Customize your theme here. -->
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
2、当然你可以设置这个预加载页的背景图
三、建议
做一个对话框延迟销毁的操作增加点用户的体验,不会让界面看起来是卡死的状态
showDialog();
//2s后关闭 延迟执行任务 重启完主页
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
hideDialog();
finish();
}
}, 2000);
四、have a nice National day!近期猥琐发育了一段时间,积累了一些笔记,预计会在放假期间共享出来,敬请期待….共勉