【问题标题】:How to get the reason for process start in android program?如何在android程序中获取进程启动的原因?
【发布时间】:2015-12-05 07:41:40
【问题描述】:

我可以看到这样的日志:

 Start proc com.**.** for activity com.**.**/com.**.**: pid=11091 uid=10146 gids={50146, 3003, 1028, 1015} by log Tag ActivityManager. 

所以,我想知道,如何在流程中获取活动的类名

【问题讨论】:

  • 你真的把它自己藏起来了吗?你能评论@pcconcepcion的答案吗?

标签: android process activity-manager


【解决方案1】:

如果我理解您的问题,在同一行中,您会看到 Activity 类的全名:

活动 com../com..****:

这不是你要找的吗?

【讨论】:

  • 是的,你是对的,但我想在程序中得到它
【解决方案2】:

我的问题和你没什么不同。我想知道

is some Activity cause the UI process start?

尤其是 LAUNCHER 活动。

我的app的UI流程有多种启动方式,例如通过ContentProvider/Service/Activity拖拽,我只想知道发起者是不是LAUNCHER Activity。

所以我破解了ActivityThread#H,这是接收启动活动消息的主要入口。当我完成应用程序的 onCreate() 工作时,我延迟了大约 1 秒的任务,然后检查该 Handler 是否收到这些消息,如果是,我认为 UI 进程被 Activity 拖动,最后我得到了答案。

希望它能启发你。

【讨论】:

    猜你喜欢
    • 2020-07-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    相关资源
    最近更新 更多