Android那些事儿之一 多次被启动
我们都知道,android在启动时有一个入口Activity,我们一般定义为LaunchActivity,在AndroidManiFest文件中我们一般会
<activity
android:name=".ui.activity.LaunchActivity"
android:screenOrientation="portrait"
android:theme="@style/DVDLaunchActivityTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>但是在一些android手机上遇到了一个奇怪的问题:
android某些手机上会让LaunchActivty创建多次,首次下载安装后,用系统弹出来的那个launcher启动(注意不是从桌面启动),这时会打开LaunchActivity+二级页面,这时退到后台(如点击Home),然后再从桌面启动,这时会重新创建一个LaunchActivity(带闪屏)同时onNewIntent方法会被调用,然后新创建的LaunchActivity由于第二个intent的clear top属性而被重新销毁。
表现上:每次进入应用会出现一个奇怪的闪屏。
这里用这个变量检测出这种奇怪的情况,暂时的处理是关闭初始化数据。
private int launchActivityCreateCount;
protected void onCreate(Bundle savedInstanceState) {
if (launchActivityCreateCount <= 0) {
setContentView(R.layout.activity_welcome);
}
launchActivityCreateCount++;
}else{
//暂时直接结束启动页,没什么太好的办法
finish();
}
}同时需要在
protected void onDestory() {
super.onDestory();
launchActivityCreateCount--;
} 相关推荐
xfcyhades 2020-11-20
Michael 2020-11-03
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28