android启动白屏的分析,Android 启动白屏,跳转黑屏以及冷启动优化

一,白屏

现象:启动app,白屏一段时间后才出现欢迎页android

解决:shell

1,添加styleapp

true

或者ide

@mipmap/welcome

其中@mipmap/welcome是一个欢迎页图片。相比之下第二种的更好一点,能够达到秒启动。第一种会有短暂的卡顿,而后显示启动页。测试

2,在Manifest中设置给WelcomeActivity优化

android:name=".main.login.WelcomeActivity"

android:launchMode="singleTask"

android:screenOrientation="portrait"

android:theme="@style/AppTheme.Launcher">

3,这样改变了整个app的主题,咱们须要在WelcomeActivity中把咱们原本的主题设置回去线程

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

// 咱们原本的style

setTheme(R.style.AppTheme_NoActionBar)

window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)

setContentView(R.layout.activity_welcome)

}

这样解决了白屏的问题。3d

二,黑屏

现象:由一个界面跳转到另外一个界面时出现黑屏,而后才显示后一个界面。code

分析:通常都是由于给AppTheme添加了windowIsTranslucent,这样过渡时前一个Acitivity被finish掉了,然后一个还没显示出来。就会出现黑屏。blog

解决:把AppTheme的windowIsTranslucent属性去掉。

@color/colorPrimaryDark

@color/colorPrimaryDark

@color/colorAccent

三,启动时间优化

咱们一般须要在application中作一下三方库的初始化。这些操做都会影响咱们的启动速度。

此时咱们能够把这些操做放到子线程中完成。如:

new Thread(new Runnable() {

@Override

public void run() {

init();

}

}).start();

只是举个栗子,不要内存泄漏了。

四,检测启动时间

能够经过adb命令来测试冷启动和热启动的耗时,

adb shell am start -W [包名]/[包名.类名]

如。

951da035914c11dd61895a32dbef9a2a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值