【Android性能优化】 应用启动优化

 这篇文字其实没什么内容,就是介绍了一下冷启动跟热启动以及白屏。

 启动流程

应用启动流程是指从启动到显示主界面这一段,全流程在下面的热启动介绍。

应用启动分为热启动冷启动冷启动就是就是应用之前没有被点开过,或者点开之后又在最近任务中删除,不会在最近任务中;热启动就是应用被点开过了,在最近任务中能看到它。

冷启动就是要走应用启动的全流程,创建应用程序进程-->创建和初始化Application-->创建和初始化MainActivity-->MainActivity中View的measure、layout、draw。

热启动已经有存活的Application了,只需要执行:创建和初始化MainActivity-->MainActivity中View的measure、layout、draw。

我个人对热启动、冷启动的记忆区分就是,热启动就是趁应用还没有彻底凉凉(进程彻底被杀死)的时候启动应用。

启动时间

查看启动时间命令行:

adb shell am start -W 包名/主界面含包名全路径 
例子:adb shell am start -W com.example.sim/com.example.sim.MainActivity

结果如下图:

        冷启动:

         热启动:

【Android性能优化】 应用启动优化_第1张图片

可见在这个程序里冷启动花费的时间比热启动多得多。

优化启动时间

 冷启动介绍里已经列举了应用启动的流程,避免在这个流程里写太多耗时操作就行,可以将一些耗时操作放到异步进程进行,降低布局的层级也可以减少View的measure、layout、draw时间。

优化体验

我们自己开发app的时候,点击桌面图标进入app时会看到白屏,用户看着白屏的体验可能不太好,可以将它设置为好看的图片。

1.图片替代白屏

1.在theme.xml文件里新建一个style。

    

2.Manifast中将新的style用在MainActivity上。

        
            
                

                
            
        

3.在MainActivity的onCreate方法恢复原来的主题,不然背景会一直是那张图片。

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.Theme_SIM);
        setContentView(R.layout.activity_main);
    }

这样之后你点开app图标就会显示这张图片了。

2.设置背景为透明

将style换成下面的就行,其他步骤跟图片是一样的,不过我试了没效果,不知道是为什么。

    

你可能感兴趣的:(android)