App启动优化

2019-03-19  本文已影响0人  Spl_none

为什么要做启动优化呢?

当用户启动App之后会立即展示出一个空白页,这个空白时间大概为1~2秒,然后再跳转到App的正常界面,这种闪屏等待的过程,对用户的体验度是有影响的。

启动应用分别分为以下三种

冷启动 热启动 温启动

  • 利用提前展示出来的Window,快速展示出来一个界面,给用户快速反馈的体验;
  • 避免在启动时做密集沉重的初始化(Heavy app initialization);
  • 定位问题:避免I/O操作、反序列化、网络操作、布局嵌套等。

解决方案

可以提前展示出的Window,快速的展示出一个页面展现给用户

     //APP启动优化
    <style name="StartTheme" parent="Theme.AppCompat.Light.NoActionBar">
        //引用上面start_activity_background.xml背景文件
        <item name="android:windowBackground">@drawable/start_activity_background</item>
        <item name="android:windowFullscreen">true</item> //填充整个窗口设置
    </style>

android:theme="@style/StartTheme"

在启动展示的Activity界面动态的替换回App的正常主题样式,一定要在super.onCreate()之前执行

当然还有别的方法进行实现这种效果

Application 作为 应用程序的整个初始化配置入口,时常有很多第三方组件(包括App应用本身)都在 Application 中抢占先机,完成初始化操作

  1. 子线程初始化各种第三方或者个人工具库
  2. 使用懒加载(按需所用)
  3. 不要在几大生命周期里做耗时操作(逻辑+view+图片内存)
  4. 不建议使用newThread,使用IntentService;newThread实现导致数据不完整,intentservice,不管怎么跳转我在后台执行任务,保证数据完整

详细请参照

上一篇 下一篇

猜你喜欢

热点阅读