美文网首页
启动优化

启动优化

作者: 最美下雨天 | 来源:发表于2018-07-09 14:06 被阅读9次

文章来源:http://wuxiaolong.me/2017/03/13/appStart/
如果应用进程被杀死,从桌面点击应用图标启动app,一般首先会出现一个白屏或者黑屏,三五秒后才会进入主页面
造成的原因:

  • Application的onCreate流程中做了大量的通用组件的初始化操作。
  • 在主Activity的onCreate对于UI的布局与渲染不能过于发咋,如果布局过于复杂会导致移动很慢,应该尽量减少布局的冗余或嵌套。
    解决方案:
    我们可以直接去掉这个白屏页面
    定义一个style:
<style name="AppTheme.Launcher">
    <!--关闭启动窗口-->
    <item name="android:windowDisablePreview">true</item>
</style>

然后在启动页面引用这个主题:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.Launcher">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

最后在MainActivity中恢复正常主题:

public class MainActivity extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.AppTheme);
        setContentView(R.layout.activity_main);
    }
}

这样启动APP,就没有白屏,但会出现点击桌面图标而半天没有反应的现象,显然不好,很多APP把这个闪屏当做一个广告、品牌宣传的页面。
实现方式一:
实现短暂的品牌曝光

<style name="AppTheme.Launcher">
    <item name="android:windowBackground">@drawable/branded_launch_screens</item>
</style>

drawable/branded_launch_screens

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:opacity="opaque">
    <!--黑色背景颜色-->
    <item android:drawable="@android:color/black" />
    <!-- 产品logo-->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/empty_image01" />
    </item>
    <!-- 右上角的图标元素 -->
    <item>
        <bitmap
            android:gravity="top|right"
            android:src="@mipmap/github" />
    </item>
    <!--最下面的文字-->
    <item android:bottom="50dp">
        <bitmap
            android:gravity="bottom"
            android:src="@mipmap/ic_launcher" />
    </item>
</layer-list>

其中android:opacity=”opaque”参数是为了防止在启动的时候出现背景的闪烁

相关文章

  • App启动优化(三)启动优化方案

    系列文章 App启动优化(一)冷启动和热启动 App启动优化(二)启动时间测量 App启动优化(三)启动优化方案 ...

  • android启动优化

    感谢原作者涉及:应用启动流程启动优化(闪屏页优化、MultiDex 优化、WebView启动优化、启动耗时分析方法)

  • App优化,包括启动优化、界面卡顿优化,及监控方案

    启动优化 启动优化包括冷启动优化和热启动优化。 main之前 1.减少不必要的framework,因为动态链接比较...

  • 性能优化 - 启动时间

    应用的启动分为:冷启动,暖启动和热启动。其中冷启动是我们优化的重点,优化冷启动可能会同时优化暖启动和热启动。 冷启...

  • App白屏和启动优化的一些思路

    App启动优化 App启动优化原理与技术方案 启动优化 黑白屏问题 启动页面主题设置为图片 启动页面,不要再onC...

  • 冷启动优化

    App启动分为冷启动和热启动,我们说的启动优化一般是指冷启动优化。若要想优化,首先我们必须明确启动过程。 启动过程...

  • 【高级iOS】启动时间优化

    【高级iOS】启动时间优化 【高级iOS】启动时间优化

  • 冷启动优化

    冷启动优化主要优化两个方面 Application 性能优化 App启动页性能优化业务优化不在本章优化范围内。本章...

  • APP性能优化

    一、APP启动性能优化。 APP启动主要分冷启动和热启动,主要优化冷启动。 1.尽量减少didFinishLauc...

  • 性能优化

    一、启动优化 Activity启动形式分为三种类型:热启动、冷启动、温启动。重点在冷启动。 假优化:欺骗用户,去掉...

网友评论

      本文标题:启动优化

      本文链接:https://www.haomeiwen.com/subject/ccvzuftx.html