2016年10月27日木曜日
Unityで作ったアプリがメモリリーク!
どーもお久しぶりです。新事業部のありかわです。
最近Unityでゲームアプリを作っているのですが
久々にメモリリークではまってしまいました。
Unityに限らずオブジェクト指向言語ならGCが組み込まれていても、
オブジェクトへの参照が残りっぱなしになる状態が続くと
参照されてるオブジェクトは破棄されず、メモリリークになります。
当たり前ですけど。
そういった観点で色々調べて、Webでも
【Unity】DestroyしたオブジェクトのMaterialがリークする問題への対応
とか
DestroyしてUnloadUnusedAssetsしてもアセットがアンロードされない場合がある話
とか
参考にさせて頂いたのですが一向に原因がわからずめちゃくちゃ困ってました。
Unityファ○ク!!とか思ってたら、、AdMobのプラグインの使い方ミスってたのが原因でした。
Unityさんごめんなさい。
UnityでAdMobの広告を表示するのにBannerView、InterstitialAdといったクラスを使うんですが
使い終わったら各クラスのDestroy()メソッドを呼び出さないとリークの原因になるみたいです。
↓公式のサイトに書いてました。
ゲーム デベロッパー向け: 広告に関するおすすめの方法
ちゃんと読めや!って話ですよね。
それじゃまた。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿