android打印时间
㈠ android 打印log会影响速度吗
三组打印结果,中间间隔1000毫秒,从系统返回的毫秒数来看打印日志对程序影响非常的小,一组的打印日志在1毫秒内完成
㈡ Android性能优化(三)启动速度优化
Android性能优化(三)启动速度优化一、App启动流程
App的启动流程主要包括以下几个步骤:
- 点击桌面App图标:Launcher进程采用Binder IPC向AMS(Activity Manager Service)进程发起startActivity请求。
- AMS接收请求:AMS接收到请求后,向zygote进程发送创建进程的请求。
- Zygote进程fork新进程:Zygote进程fork出新的子进程,即App进程。
- App进程attachApplication:App进程通过Binder IPC向AMS进程发起attachApplication请求。
- AMS准备并发送调度请求:AMS进程在收到请求后,进行一系列准备工作,再通过binder IPC向App进程发送scheleLaunchActivity请求。
- App进程处理LAUNCH_ACTIVITY消息:App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消息。
- 主线程创建Activity:主线程在收到Message后,通过反射机制创建目标Activity,并回调Activity.onCreate()等方法。
- App启动完成:执行完onCreate/onStart/onResume方法,UI渲染结束后,用户便可以看到App的主界面。
七、启动优化的具体点
合理使用异步初始化、延迟初始化和懒加载机制:对于不需要在启动时就初始化的资源或功能,可以采用异步初始化、延迟初始化或懒加载机制,以减少启动时的耗时。
避免启动过程中的耗时操作:如数据库I/O操作等,应尽量避免在主线程执行,可以放在子线程或异步任务中处理。
类加载优化:通过提前异步执行类加载,可以减少启动时的类加载时间。
合理使用IdleHandler进行延迟初始化:IdleHandler可以在主线程空闲时执行一些延迟初始化的任务,从而避免在启动时占用主线程时间。
简化布局:优化布局文件,减少不必要的嵌套和复杂的布局结构,可以提高UI渲染的速度,从而减少启动时间。
通过以上方法,可以有效地优化App的启动速度,提升用户体验。在下一篇文章中,我们将继续探讨Android性能优化的其他方面——卡顿优化。
㈢ Android怎样在logcat中打印开机时间
我猜你所说的“开机时间”是相对于系统系统到当前的时间差,这个命令打印的不是“开机时间”,而是当前的系统时间,如果你需要“开机时间”,需要自己把时间转一下,或者在你的程序打日志的地方加上elapsedRealtime()API返回的uptime。
--------------
logcat如何打印出系统时间
我们都知道用logcat > log.txt & 可以在后台打印出log 到log.txt中去
那么如果要打印的log再加上系统时间的话该怎么办呢?
logcat -v time > log.txt&
再加上线程号的话
logcat -v threadtime > log.txt &