android启动activity时会有一个带标题栏的白色界面闪过
闪频的原因分析:App启动需要时间,在APP启动完成后才会出现 我们想要跳转到的界面
在启动之前则会显示主题样式的默认背景,一般默认的Theme会带标题栏,背景为白色,如果theme设置为NoTitleBar则会出现纯白色闪频。
1. 设置EmptyTheme 当我们进入我们自己的android时,会有一个带标题栏的白色页面一闪而过,这主要是在系统启动Activity时,会默认的启动系统本身的原始页面, 也就是原始的theme,然后才启动到我们定义的页面。解决的办法很简单,我们只需要设置一个空的theme就好了。 方法:找到自己程序目录下的AndroidManifest.xml <activity ---- 为 application 设置?activity的话用处不大一般都是有theme的 android:name="com.example.test.login" android:label="@string/app_name" android:theme="@style/EmptyTheme" android:screenOrientation="landscape" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 在你开始启动的activity下添加一句android:theme="@style/EmptyTheme", 此处给我们设置一个空的原始页面,然后在res文件夹下的values目录下,找到styles.xml,打开添加一句 <style name="EmptyTheme"> </style> 2. 解决方法分析:通过 Theme 和 Style 避免 APP 启动闪屏 为 Theme 设置背景图 <style name="AppStartTheme" parent="android:Theme"> <item name="android:windowBackground">@drawable/splash_bg</item> <item name="android:windowNoTitle">true</item> </style> 3. 为 Theme 设置透明属性 -- 效果不好 <style name="AppStartTheme" parent="android:Theme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> </style> <activity android:name="com.sunzn.act.SplashActivity" android:label="@string/app_name" android:theme="@style/AppStartLoadTranslucent"/>