美文网首页
一、App启动总结

一、App启动总结

作者: Serenity那年 | 来源:发表于2018-10-28 21:25 被阅读2次

1.在Android4.4以后可以在console面板中,通过‘Display’关键字过滤出启动一个app所消耗时间的log日志;
2.在Android4.4之前检测启动时间可以使用adb命令;

adb shell am start -W com.zcbl.serenity/com.zcbl.serenity.view.SplashActivity(包名/全类名)

3.查看当前手机显示界面的APP的activity全类名:

adb shell dumpsys activity activities

4.查看手机已经运行的进程的adb命令,分两个步骤,如下:

  1. adb shell
    2.ps

备注:android是真后台,ios是假后台;所以android开启app多了就卡了

5.APP启动流程:
点击图标后,am中的launch进程与zygote进程有个通信机制,zygote进程fork出一个进程,然后这个fork出的进程会通过System Service调用ActivityThread中的main函数,在main函数中会new ActivityThread ,然后调用activityThread对象的attach方法,在这个方法中会开启app ,先加载application(调用attachApplication方法,通过进程间的通信,远端进程调用ActivityThread中的handleBindApplication方法),在加载activity;

6.使用系统api来记录启动时间

String traceFilePath = Environment.getExternalStorageDirectory().getAbsolutePath();
        File file = new File(traceFilePath, "appTrace");
        //开启追踪
        Debug.startMethodTracing(file.getAbsolutePath());
        //停止追踪
        Debug.stopMethodTracing();
        //======上面两个必须成对出现

相关文章

  • 一、App启动总结

    1.在Android4.4以后可以在console面板中,通过‘Display’关键字过滤出启动一个app所消耗时...

  • iOS APP与ViewController、ViewContr

    APP、APP与ViewController 启动app 总结:1,整体顺序是:app加载 → 根视图控制器加载 ...

  • Android应用启动速度优化

    应用启动流程总结: ①点击启动一个App,Launcher进程采用Binder IPC向ActivityManag...

  • iOS App 启动都干了哪些事儿

    App 启动我们指的是从用户点击 App 开始,到用户看到第一个界面这个阶段。总结来说,App 的启动主要包括三个...

  • iOS APP 启动优化

    App 的启动时间,指的是从用户点击 App 开始,到用户看到第一个界面之间的时间。总结来说,App 的启动主要包...

  • ViewController的混合生命周期

    1、App、App与ViewController 启动App 总结:1,整体顺序是:app加载 → 根视图控制器加...

  • Android应用启动流程总结

    应用启动流程图: 应用启动流程总结: ①点击启动一个App,Launcher进程采用Binder IPC向Acti...

  • 深入理解iOS App的启动过程

    前言 参考资料:深入理解iOS App的启动过程iOS 应用程序启动过程及原理总结iOS:App启动过程详解(不同...

  • 02-App启动速度优化与监控

    一般而言,App的启动时间,指的是从用户点击App开始,到用户看到第一个界面之间的时间。总结来说,App的启动主要...

  • iOS app启动优化方案

    一、APP的启动 二、App启动阶段 APP的启动 - dyld APP的启动 - runtime APP的启动 ...

网友评论

      本文标题:一、App启动总结

      本文链接:https://www.haomeiwen.com/subject/ocdzaftx.html