【Android 性能优化】应用启动优化 ( 主题背景图片设置
文章目录一、 设置图片主题背景二、 设置透明主题背景三、 设置应用启动主题背景、启动后恢复主题一、 设置图片主题背景设置一个主题背景图片 , 只是将白屏问题掩盖了 , 应用真实启动时间还是很长 ;
1 . 设置背景图片代替白屏 : APP 启动时显示一张默认图片 , 这样用显示图片替代之前的白屏或黑屏 , 在这几秒钟的时间内 , 用户全程看这张图片 , 体验效果要好于黑白屏界面 ;
2 . 主题中添加背景图片 : 在资源目录 res/values/styles.xml , 编辑自定义主题 , 在主题中设置 android:windowBackground 背景图片 ;
代码语言:javascript复制
3 . 设置该主题 : 将上述 AppTheme 主题 , 设置到 application 应用中 , 在 AndroidManifest.xml 配置文件中的 application 标签中配置 android:theme="@style/AppTheme" 属性 , 上述设置的背景图片即可生效 ;
代码语言:javascript复制
android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
1 . 设置透明背景代替白屏 : APP 启动时显示透明背景 , 这样用透明背景替代之前的白屏或黑屏 , 在这几秒钟的时间内静止直到界面绘制显示 , 除了有启动延迟的影响 , 体验效果要好于黑白屏界面 ;
2 . 主题中添加背景图片 : 在资源目录 res/values/styles.xml , 编辑自定义主题 , 在主题中设置 android:windowIsTranslucent 透明背景为 true ;
代码语言:javascript复制
3 . 设置该主题 : 将上述 AppTheme 主题 , 设置到 application 应用中 , 在 AndroidManifest.xml 配置文件中的 application 标签中配置 android:theme="@style/AppTheme" 属性 , 上述设置的背景图片即可生效 ;
代码语言:javascript复制
android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
2 . 启动界面主题设置 : 这里为 Launcher 启动界面设置单独的主题 , 界面启动加载完成之后 , 恢复成应用主题 ;
3 . 定义专门用于应用启动界面的主题资源 : AppTheme.Launcher.Translucent 或 AppTheme.Launcher.Picture 主题是专门设置给 Launcher 界面的 , 仅限于在启动过程中使用 ;
代码语言:javascript复制
4 . 为 Activity 界面配置主题 : 在 AndroidManifest.xml 中 , 为应用的启动界面 MainActivity.java 配置主题 , 可以为 MainActivity 设置 AppTheme.Launcher.Translucent 主题 , 也可以设置 AppTheme.Launcher.Picture 主题 ;
代码语言:javascript复制
package="kim.hsl.rtmp"> android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> android:theme="@style/AppTheme.Launcher.Translucent" android:name=".MainActivity">
代码语言:javascript复制public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
/*
此时应用首界面启动完成, 将主题恢复成其它主题
此处也可以根据不同的设置, 为应用设置不同的主题
*/
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}