質問: お世話になっております。 現在Unityであるシーンからあるシーンに遷移する際にかなり大きいGCが発生して処理落ちで困っております。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/65b900ef20a70ebeb19bc699c81d0974.png) 対策が分からず手の打ちようがないです。 Text.Enableが原因でしょうか? 分かる方ご教授の方をお願いします。 Unityのバージョンは2017.4.6f1 端末はLavie Tab Androidバージョンは7.0です。
回答: 全てのTextコンポーネントをオフにした状態でシーン遷移してGCが発生しなくなるならText.Enabledが原因かと。 なんでText.EnableでGCが起こるかというと、 【Unity】TextMeshProで「数字」をテキストで表現する時にGC Allocを発生させない2つの方法 - テラシュールブログ 曰く「数字をStringに変換(int.ToString())のタイミングでGCが発生します。」 とのことなんで、これに類する状況だと発生するんじゃないでしょうか。 なお「本当にこいつが処理落ちの原因か?」は疑うべきかと思います。 ここはシーンの読み込み時なので、起こるとしたら処理落ちではなく「シーン遷移の待ち時間が長い」になる気がします。 処理落ちが一時的ならこのフレームの後で発生している大きなスパイク2つ、 継続的なら常時発生しているScriptsの負荷が原因かもしれません。 確かに負荷は極力下げるべきですが、闇雲に対処するよりも目に見える問題の原因を特定して潰していく方が労力的にも良いかと思います。