Androidアプリの実機テストで「応答していません」と出た時の対策

プロファイラーで状態を確認する

実機をつなげて実行すると、下部にprofilerの項目が表れます

「+」ボタンから監視する端末を選んで

それぞれCPUとMEMORYの値を確認しましょう。

CPU消費やメモリーが明らかに高い数値が出ているならば、原因は単純に処理能力の問題です。

解決策としてはUI専用のスレッドを作るか、軽量化を試みるかです。

UI専用のスレッドを作ると、重い処理を行ってメインスレッドが止まっていてもタッチ操作などに反応することができます。

無限ループを疑う

「応答していません」のポップアップが現れるのはおそらくこれが主な原因だと思います。

自身が意図していなくとも、

条件式は最初真
while(条件式){
//ある条件を満たしたら条件式が偽になる
}

のようなコードは無限ループになる危険性があります。

一度このようなwhileループを全て探し、上限をつけて実行してみましょう。

こうすることで大体の場合は解決すると思います。

それでも無理だったら…

ごめんなさい、自分にはさっぱり原因がわかりません。

デバッグモードにブレークポイントをつけまくって、地道に場所を絞っていくしか方法はないと思います。

yanto

大学生です。atcoder緑。ubuntuの民。ブログの他にアプリ開発とかやってます。趣味は読書、プログラミング。アニメ、映画も時々見ます。サムネイルに使わせていただいているサイト ・photoAC(https://www.ac-illust.com/) ・フリー素材ぱくたそ(www.pakutaso.com)

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA