笔记Instant

2017-07-13

StackTraceElement e= Thread.currentThread().getStackTrace()[4];

String caller = e.getFileName() +":"+ e.getLineNumber() +" ";

Log.d(TAG,"invalidate: "+ caller);

获得当前调用的trace

 

2019-7-25

  1. Service默认在主线程执行,想执行后台逻辑可使用IntentService
  2. Anr的超时时间,
  • 触屏操作:5s,
  • 前台广播10s未响应,后台广播60s未响应
  • service没响应 20s

自建APM的原因:

  1. 更能满足个性化需求,比如一般商业apm只会提示应用启动时间,但如果我们需要考量的是启动多个步骤的分别的事件,则没法满足。
  2. 不能与内部系统打通,比如我想知道出问题这个问题的用户的具体信息,只能在商业apm上看一下用户的id,然后又到内部系统查用户的具体信息。
  3. 数据安全的考虑,避免把数据暴露到第三方中。

应用启动的方式有3种:

  1. 冷启动,完整的新启动一个应用,具体的流程需要从点击事件开始经过
  • ipc
  • Process.start
  • ActivityThread
  • bindApplication
  • licyCycle
  • ViewRootImpl

需要先创建application,然后创建activity,并经过application和activity的相关生命周期

    2.热启动

    仅仅是应用从后台到前台,执行activity的 onStop 到 onRestar onstar onResum等流程就行

    3.暖启动

    topActivity已被回收,要从onCreate开始,重新走activity

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值