Android 性能优化—— 启动优化提升60,android蓝牙开发实例

本文探讨了Android应用的启动优化,包括adb命令统计、系统日志分析、Application和闪屏页的优化,强调代码优化的重要性。通过具体实例展示了如何减少启动时间,提升用户体验。同时提到了Android蓝牙开发,但未展开详细内容。文章提供了相关资源链接和进一步的优化建议。
摘要由CSDN通过智能技术生成

其实这种方式并没有真正的加速应用进程的启动速度,而只是通过用户视觉效果带来的优化体验。

_3_代码优化

当然上面使用设置主题的方式优化用户体验效果治标不治本,关键还在于对代码的优化。

首先我们可以统计一下应用冷启动的时间。

冷启动耗时统计


adb 命令统计

参考如何计算 App 的启动时间

http://www.androidperformance.com/2015/12/31/How-to-calculation-android-app-lunch-time/

adb命令 : adb shell am start -S -W 包名/启动类的全限定名 , -S 表示重启当前应用

更多adb命令

https://github.com/mzlogin/awesome-adb

C:\Android\Demo>adb shell am start -S -W com.example.moneyqian.demo/com.example.moneyqian.demo.MainActivity

Stopping: com.example.moneyqian.demo

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.moneyqian.demo/.MainActivity }

Status: ok

Activity: com.example.moneyqian.demo/.MainActivity

ThisTime: 2247

TotalTime: 2247

WaitTime: 2278

Complete

  1. ThisTime : 最后一个 Activity 的启动耗时(例如从 LaunchActivity - >MainActivity「adb命令输入的Activity」 , 只统计 MainActivity 的启动耗时)

  2. TotalTime : 启动一连串的 Activity 总耗时.(有几个Activity 就统计几个)

  3. WaitTime : 应用进程的创建过程 + TotalTime .

  • 在第①个时间段内,AMS 创建 ActivityRecord 记录块和选择合理的 Task、将当前Resume 的 Activity 进行 pause.

  • 在第②个时间段内,启动进程、调用无界面 Activity 的 onCreate() 等、 pause/finish 无界面的 Activity.

  • 在第③个时间段内,调用有界面 Activity 的 onCreate、onResume.

//ActivityRecord

private void reportLaunchTimeLocked(final long curTime) {

final long thisTime = curTime - displayStartTime;

final long totalTime = stack.mLaunchStartTime != 0 ?

(curTime - stack.mLaunchStartTime) : thisTime;

}

最后总结一下 : 如果需要统计从点击桌面图标到 Activity 启动完毕,可以用WaitTime作为标准,但是系统的启动时间优化不了,所以优化冷启动我们只要在意 ThisTime 即可。

系统日志统计

另外也可以根据系统日志来统计启动耗时,在Android Studio中查找已用时间,必须在logcat视图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值