【问题分析】界面点击无响应,非ANR

💡 原文中文,约5400字,阅读约需13分钟。
📝

内容提要

用户在点击Message界面时无响应,但不会发生ANR。经过log分析发现后台Activity发动策略限制了发动,且发动的Activity与预期不符。问题有两个疑问点:后台BAL策略限制了Message的发动,以及如何发动"com.google.android.apps.messaging/.main.MainActivity"。通过调试发现,通过接收短信后点击Notification可以发动"com.google.android.apps.messaging/.main.MainActivity"。最终复现问题的步骤为:将Message对应的Task从Recents中移除,接收短信后点击Notification跳转到短信,然后回到Launcher进入Phone,通过点击"Send a message"跳转到Message,再次回到Phone后通过左滑切换到Message界面,发现界面无法点击。该问题为Google原生问题,在Pixel上也能复现。

🎯

关键要点

  • 用户点击Message界面无响应,但不发生ANR。
  • 后台Activity发动策略限制了Message的发动,导致BAL_BLOCK。
  • 首次发动'com.google.android.apps.messaging/.main.MainActivity'的方式不明确。
  • 通过接收短信后点击Notification可以成功发动'MainActivity'。
  • 复现问题的步骤包括移除Message的Task、接收短信、点击Notification、进入Phone、再返回Message。
  • 问题为Google原生问题,在Pixel设备上也能复现。
➡️

继续阅读