美文网首页
Android冷启动优化

Android冷启动优化

作者: 天地玄黄 | 来源:发表于2019-07-12 10:28 被阅读0次

一 什么是冷启动

只要APP的状态是未打开状态(包括不在后台),此时点击桌面图标启动应用的过程就是冷启动。

二 冷启动的表现形式

点击图标后出现了短暂的白屏,然后才显示了主页面的内容,虽然时间很短,但是很影响体验。

三 解决方法

  1. 减少冷启动的时间
    这个问题等同于如何减少应用初始化的时间,从上面的APP启动流程中,如果我们在应用初始化的操作越多,那么从初始化到绘制的时间越长,用户看到真实界面的时间也就越长,可以从如下几个方面进行:

    1.1 减少在 Application 中的耗时操作(懒加载)
    1.2 减少在 onCreate 的耗时操作

  2. 适配冷启动
    2.1 纯色背景 + 启动图标,简单的来说就是用 layer-list 绘制一个纯色的背景加上一个启动图标,layer-list 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/colorPrimary" />

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher" />
    </item>

</layer-list>

然后我们为SplashActivity创建一个主题:

<resources>
    <!-- 基本主题 -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <!--纯色加启动图标的方案-->
    <style name="SplashThemeLayer" parent="AppTheme">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/bg_splash_layer_list</item>
    </style>
</resources>

最后为 SplashActivity设置主题为 SplashThemeLayer 在启动看看效果吧。

2.2 使用背景图片
前面的第一种方式是使用纯色背景 + 启动图标,这种方式肯定是不满足我们的产品经理的,他们要的是 个性化 的页面。
使用背景图片也是很简单的,只需要在theme里面将我们之前的drawable替换成我们的图片即可,需要注意的是:Splash页面的背景颜色需要设置为透明 #00000000,不要设置其他背景,否则会导致图片的伸缩变形。

总结:除了以上两种方案还可以做更复杂的动画形式的启动,那个难度要更高一些。具体使用什么方案,还需要依据自己的情况而定。

相关文章

  • Android冷启动 - 启动优化

    Android冷启动 - 启动优化 介绍: 方法 在 drawable 下新建 launch_screen.xml...

  • app性能优化

    Android冷启动时间优化 Android开发——避免内存泄露 APK瘦身实践 APK瘦身记,如何实现高达53%...

  • android 冷启动优化

    文中描述的冷启动时间为:点击应用图标 到 app主界面展示到用户面前,这个时间段。 在程序初始化阶段,我们一般会...

  • Android冷启动优化

    一 什么是冷启动 只要APP的状态是未打开状态(包括不在后台),此时点击桌面图标启动应用的过程就是冷启动。 二 ...

  • Android冷启动优化

    1.冷启动时间检测 通过adb检测 运行结果分析 TotalTime:应用的启动时间,包括创建进程+Applica...

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 从细节处谈Android冷启动优化

    本文来自网易云社区 Android APP冷启动优化,对于Android开发同学而言可能是个老生常谈的技优了。 之...

  • Android项目优化-冷启动优化

    APP启动优化主要解决app启动缓慢,白屏半天的问题。 app启动方式主要为:冷启动和热启动 冷启动:当进程关掉,...

  • 【性能优化】Android冷启动优化

    前段时间做冷启动优化,刚好也很久没写博文了,觉得还是很有必要记录下。 一.常规操作 大部分开发者在遇到页面冷启动耗...

网友评论

      本文标题:Android冷启动优化

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