LoginSignup
6
2

More than 1 year has passed since last update.

ANRのやりかた

Posted at

ANRを発生させたい!

結論

.kt
//onClickイベントでタイマー仕込んで、画面上のクリックイベントのオブジェクトを連打する
TimeUnit.SECONDS.sleep(10)

// runOnUiThread { while (true) }
//無限ループはいい感じにANRにならない??

どうしたの?

androidエンジニア的には何言ってるんだという内容ですが、悪意はありません。
公式見る限り、起こさせないようにしたり、確認する方法はあるのですが、意図的に発生させる方法がパッと見当たらなかったのでメモに残します。
参考記事を見てもらえればわかるように、ANRの発生条件は以下の2つです。

  • 入力イベント(キーの押下や画面タッチなどのイベント)に対する応答が 5 秒以内にない
  • BroadcastReceiverの実行が 10 秒以内に終了しない

個人的にUIスレッドで止まればいいんでしょくらいの認識でいたため、
いざANR起こすぞってなったら、どうやるの?状態でした・・・

これでfirebase CrashlyticsでANRが見れるようになることを確認できるね!!(これがやりたかった)

参考

公式↓

ありがたい記事↓

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2