性能优化之App启动黑白屏优化

一.App的启动以及Application启动过程分析

 

从点击桌面Icon到我们第一个见面展示出来分为两个部分

1.系统去创建进程以及Application

2.Application到Acitivty

第一部分是系统黑盒子模块,我们没有办法去通过代码优化,但是第二部分我们可以去通过代码进行优化。

 

二.启动黑白屏优化

1.用户体验优化:

(1).将app的Theme置为透明色,这样用户点击之后只是有一段时间的延迟,然后进入App页面。

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

(2)在自己<style name="AppTheme" parent="Theme.AppCompat.Light">中加入windowsbackground

(3).自定义主题

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

<activity
    android:theme="@style/AppTheme.Launcher"/>

然后再程序中使用

setTheme(R.style.AppTheme);

 这样我们就可以避免应用在启动的时候的黑白屏体验了

示例:QQ的用法

<item name="android:windowDisablePreview">true</item>
<item name="android:windowBackground">@null</item>

2.通过代码去优化

我们通常应用会在Application的onCreate方法中做很多初始化的工作,但是往往这些初始化的工作也给我们的App加载带来一定耗时,因此我们需要对oncreate中的方法去进行分析,尽量减少耗时操作。我们可以通过tract将代码执行的分析文件,然后去进行方法分析

Debug.startMethodTracing(file.getAbsolutePath());
...
Debug.stopMethodTracing();
 

通过adb命令把生成的.trace分析文件拉到桌面,然后再倒入Android studio进行分析

adb pull /storage/emulated/0/app1.trace C:\Users\70883\Desktop

请稍等

我们要尽量将耗时操作放进子线程中去操作,不影响主线程的执行。

注意:带有Handler的方法不能放在子线程中去执行。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值