Alexのぶろぐ

programming/scala/play!/php/javascript/three.js/unity/xcode5/rails/rubymine メモ用です

Unity メモリのせいでアプリがクラッシュした時の対応

シーン移動時にメモリがなくなっておちたよというxcodeの表示とともにアプリがクラッシュ

 

いろいろ調べた結果、シーン遷移前のシーンでのメモリ消費が激しすぎて新しいシーンを読み込むとメモリがオーバーするという現象に陥ってる模様

→読み込める時と読み込めない時があり、読み込める時は前のシーンのオブジェクトが少なかったことから考察

 

Unity側が全部勝手に勝手にやってくれるとの記述を信じていたがそうでもない(勉強不足なだけ?)ので、どうしてもメモリのせいでアプリが落ちてしまう場合はシーン間にクッションのシーンを置けば解決できるのではという解決方法

 

つまり、

シーンA(メモリ消費大)→シーンB

でアプリが落ちていたのにたいして

シーンC(メモリ消費小)→シーンB

では落ちていなかった。このことから間にメモリの消費が少ないシーンを間にはさむ↓

シーンA(メモリ消費大)→クッションシーン→シーンB

ことでいけるのではという仮説

 

結論としてはクラッシュせずに読み込めたが、シーンを読み込む時間が長くなってしまった。

 

アセットストアから購入するのではなく、アプリに最適化されたアセットが欲しい、、、