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--; }
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 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