前言
记录一下App启动优化,方便自己查阅。
正文
App启动时间检测
adb shell am start -W com.biumall.demo/.MainActivity
运行结果
ThisTime: 最后一个Activity启动时间 [上面指定了是MainActivity启动时间]
TotalTime: 一系列Activity启动时间 [启动过程中所有Activity的启动时间]
WaitTime: 总启动时间,包含系统在冷启动时需要加载资源到内存的时间。
PS: TotalTime是启动中所有Activity时间,也就是除了MainActivity还有过度的SplashActivity启动时间。
统计代码执行时间
方式一
//存放的目录可以自己指定。这里只是一个实例而已
File file = new File(Environment.getExternalStorageDirectory(), "app.trace");
Debug.startMethodTracing(file.getAbsolutePath());
//开始统计
//业务逻辑
//结束统计
Debug.stopMethodTracing();
然后把内置sdcard中的app.trace进行pull出来,并拖入Android Studio中。
方式二
这种只是看是否耗时,至于代码中哪个地方耗时,需要自己排查。
打印代码开始的时间和结束的使用时间,然后end-start就是耗时时间。
long start = SystemClock.uptimeMillis();
long end = SystemClock.uptimeMillis();
个人推荐方式一
优化
- 异步加载
- 延迟加载和初始化
参考文章
历史上的今天
暂无评论...
随机推荐
李月亮:那些你所不知道的大事
在你的生命里,经历了一些很重大的事情,可是你并不知道。5岁那年,爸爸下班回来,你跑去迎接他,不小心摔了个狗啃泥,不过没有受伤。你并不知道,就在你摔倒的地方往左两厘米,立着一根小钉子,如果你稍微偏一偏,左眼就失明了。10岁那年,你一个人在家煮方便面,刚把水壶放到煤气炉上,就接到妈妈的电话让你去姥...
Android批量删除文件
前言项目需要,封装了批量删除管理类。虽然有线程池,但也得做启动的线程个数进行一定的限制。正文只做文件的删除,不支持目录删除,如果需要目录删除,做递归就行。或者使用命令删除隐藏内容!付费阅读后才能查看!¥4多个隐藏块只需支付一次付费阅读参考文章跟《Android批量拷贝文件》一样。
JNI动态注册封装C语言版
前言在上一篇《JNI调用Java方法》的动态注册并调用Java方法,上次也说了可以把公共部分封装一下。说干就干,今天就把上次代码封装一下。正文我这不介绍完整的动态注册,有需要可以看《JNI动态注册》。这里只是个人流水账。Hello.javapackage com.biumall.dyn...
AIDL个人理解总结
前言之前也简单的使用过Android的AIDL,但也都是局限于使用,至于启动的原理等都没去了解。记录一下个人对AIDL的理解,方便自己查阅。正文之前AIDL的简单Demo:《Android aidl简单使用》和《Android aidl简单使用2》。回归正题。AIDL是Android ...
[摘]Android CircleImageView圆形头像图片
前言本文摘抄,记录于此,方便自己查阅而已。正文Android想要使用ImageView圆形头像图片,可以自己定义一个CircleImageView继承ImageView类,也可以使用Glide框架来加载ImageView圆形图片,下面分别来介绍这两种形式。方法一:定义CircleImage...
SQLite Expert的注册记录
前言SQLite Expert软件很不错,在使用数据库时,这个软件是查看数据库的号帮手,当然,这个也是偶尔使用。这里分析一下网上的注册方法。正文这里介绍下载和注册。下载官方下载对应的位数的SQLite Expert:http://www.sqliteexpert.com/downlo...