美文网首页
Android启动页优化

Android启动页优化

作者: 浮名虚誉架构师 | 来源:发表于2017-04-27 15:45 被阅读0次

    App启动方式

    (1)冷启动:当启动应用时,后台没有该应用的进程,系统会重新创建一个新的进程分配给该应用,即冷启动

    (2)热启动:当启动应用时,后台已有该应用的进程(例如点击Back键或Home键退出,此时应用的进程依然在后台存活),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,即热启动

    启动App时出现白屏或黑屏

    解释:启动App出现黑屏或白屏的现象并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,而在应用程序进程创建并初始化成功之前,系统会显示一个临时窗口Starting Window(也叫Preview Window,它的WindowType是TYPE_APPLICATION_STARTING。在初始化完成之前展示,是为了告知用户系统已经知道要打开该应用,并且对此做出了响应。待初始化完成后,系统会显示用户UI并移除该窗口),黑屏白屏就是window窗口背景。所以说我们看到的黑屏或白屏就是不同Theme时对应的Window的背

    优化:通过windowBackground可以设置背景色、背景图片、能解析出图片的XML文件等

    <style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="android:windowBackground">@drawable/launcher_bg</item>

    <item name="windowNoTitle">true</item>

    <item name="android:windowFullscreen">true</item>

    </style>

    自定义的launcher_bg.xml 代码如下:

    <?xml version="1.0" encoding="utf-8"?>

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

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

    <item><bitmap android:gravity="center" android:src="@drawable/launch_logo"/></item>

    </layer-list>

    特点:应用启动快,非同步刷新,界面会先显示背景图,然后再刷新其他控件,比较推荐

    注意:避免在启动时做密集沉重的初始化;异步初始化组件;梳理业务逻辑,延迟初始化组件、操作;减少布局嵌套;去掉无用代码、重复逻辑等

    相关文章

      网友评论

          本文标题:Android启动页优化

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