即拿即用-App启动优化最佳实践
来源:互联网 发布:中国吸血鬼网络剧 编辑:程序博客网 时间:2024/04/29 21:15
应用在启动的时候,有时候有白屏/黑屏,之所以会看到白屏或者黑屏,是和我们的主题有关系的,因为系统默认使用的主题,背景色就是白色/黑色。那么我们自定义一个主题,让默认的样式就是我们想要的,就优化了白屏/黑屏的问题。
设置闪屏页SplashScreenActivity的style;
<!--应用Style设置开始--> <!-- 应用主题--> <style name="AppTheme" parent="AppTheme.Base"></style> <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <!-- 隐藏ActionBar --> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> <!-- 使用 API Level 22 编译的话,要拿掉前缀字 --> <item name="windowNoTitle">true</item> <!-- 状态栏颜色--> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <!--应用默认颜色--> <item name="android:windowBackground">@color/white</item> <item name="android:fitsSystemWindows">true</item> <!--界面切换方式--> <item name="android:windowAnimationStyle">@style/translate</item> </style> <!-- 闪屏页 --> <style name="StartAppTheme" parent="AppTheme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> </style>
AndroidManifest.xml
<activity android:name=".activity.SplashActivity" android:theme="@style/StartAppTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
SplashScreenActivity
package com.tibi.notebook.activity;import android.content.Intent;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.WindowManager;import com.tibi.notebook.R;public class SplashScreenActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 不显示系统的标题栏,保证windowBackground和界面activity_main的大小一样,显示在屏幕不会有错位(去掉这一行试试就知道效果了) getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_splash_screen); //模拟验证账号密码,做一些工具的初始化等等的操作 new Handler().postDelayed(new Runnable() { @Override public void run() { startActivity(new Intent(SplashScreenActivity.this, HomeActivity.class)); finish(); } }, 2000); }}
参考
- 《一触即发 App启动优化最佳实践》
0 0
- 即拿即用-App启动优化最佳实践
- App启动优化最佳实践
- App启动优化最佳实践
- 一触即发 App启动优化最佳实践
- 一触即发 App启动优化最佳实践
- 一触即发 App启动优化最佳实践
- 一触即发——App启动优化最佳实践
- 一触即发——App启动优化最佳实践
- App启动优化实践方案
- App瘦身最佳实践
- App 瘦身最佳实践
- sql优化最佳实践
- Web 前端优化最佳实践
- Web 前端优化最佳实践
- SEO(搜索引擎优化)最佳实践
- Web前端优化最佳实践
- web前端优化最佳实践
- jQuery 性能优化最佳实践
- 命名管道的通信方式
- Java编程思想-16数组
- Android中内存泄漏的原因及消除内存泄漏的方法
- ViewPager实现广告条自动滑动
- 自定义控件之Paint的使用
- 即拿即用-App启动优化最佳实践
- EXCLE.随笔
- 349. Intersection of Two Arrays --双指针、字典、二分查找、集合
- 自定义View继承现有的Toast,实现订单提醒的Toast,从左下角显示然后退出
- 自定义Dialog
- 伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布、连续分布(正态分布)、大数定理、中心极限定理、贝叶斯理论
- python学习笔记6-socket
- 自定义控件之shader的使用
- Window环境下搭建Vue.js开发环境