プログラミングUnityでAndroidアプリ開発していたら強制終了するほどメモリーを使いすぎていた。そんな経験はありませんか?解決手段の一つとして、Andorid端末から取得した使用メモリーを常に画面で確認する方法があると思います。常に表示させておけば、使用メモリーの確認忘れを避けることができるでしょう。この記事では、Android端末から使用メモリなどの情報を取得する方法について、実際に作成したツールを元に解説します。まとめUnityにも使用メモリ容量を取得する方法はあるが・・・Unityにもメモリーを取得するメソッドが存在します。プロファイラーを有効にしていないと0が返ってくるなど不便があります。メモリー容量を確認するためだけにプロファイラーを有効にして再ビルド作業も意外に面倒です。Unityから取得するメモリーの値は、目安であるため、実際に端末で使われているメモリーに差異があります。正確なメモリー容量を計測するのであれば、Android端末から直接使用メモリーを取得できた方が良いと言えます。作成したツール作成したツールはざっと以下のようなものです。作ったもの(GitHubのリンクあり):・Android端末で、現在アプリが使用しているメモリ容量を取得する・現在、Andorid端末に搭載されているRAM容量を取得できる・MemoryLowを検出する実際のソースを参考にしたい場合は、GitHubよりソースコードを参考にしてください。UnityからAndroidネイティブ(Java)へのアクセス方法、およびUnityへの値の返し方については、他のサイトで詳しく解説しているためここでは取り上げません。Unity・Android端末の使用メモリを取得するツール(GitHub)https://github.com/jshirius/Unity_tools/tree/master/memory_info_tool/android作成したツールの解説GitHubに公開してある「MemorySample.java」を元に実装のポイントについて解説します。端末の使用メモリーを取得する使用メモリを取得する使用メモリを取得するには、以下の様にgetProcessMemoryInfo関数を呼び出だすことによって実現することが可能です。」を使って自身プロセスIDを取得しています。1024;MemoryLowを検出する以下のコードを追加してMemoryLowを受け取れるようにします。GitHubに公開しているMemorySample.javaでは「端末に積まれているRAM」「MemoryLowが発生しているかどうかのフラグ」の情報も一緒に返すようにしているためJson形式でUnity側に返しています。使用上の注意点ツールを使う際、いくつかの注意事項があります。■本番での使用は推奨しませんメモリー情報を呼び出す処理は意外に重いです。よって、本番(リリースするアプリ)では、メモリー情報を監視する処理を呼び出さないようにしたほうがよいでしょう。■1フレームごとに呼び出さないことメモリ情報を呼び出す処理は思いため、1フレーム中に終わらない可能性が高いです。実際に1フレームごとにAndroid端末から使用メモリーを取得する処理を呼び出していたら、明らかにカクカクした動きをしていました。よって、数秒に1回の割合、もしくはボタンを押したらメモリー容量がわかるような実装をしたほうが良いかもしれません。■プログラムの責任についてこのプログラムを使った結果、何かしらの不具合が発生しても当方は責任を負いません。まとめいかがですか?使用メモリーは、常に意識しておく必要があります。画面上に常に使用メモリーを表示しておくのも意識するための有効手段だと思います。使用メモリーは実際の(Android)端末から取得した数字を使ったほうが、より正確に計測できるでしょう。Regulation)が適用されました。G...記事を読む5分でxcodeで試せる!IOSにて通信状態を検出して処理を分ける実装についてこのブログでは、Reachabilityを使ってIOSでの通信状態の検出するプログラムをどのように実装してよいか解説します。ソースコードの使用コードは、Objective-cです。「ドラゴンクエストXを支える技術」の本の内容の感想を一言というと、エンジニアにとって大変興味深い内容が厳選された感じでした。専門用語をほとんど使わないで解説するなど技術に対しての専門知識が無くてもスラスラ読むことができます。UnityEngine.AndroidJavaRunnableProxy.run()」というエラーがlogcat上に出てアプリが動作しない問題が発生した。原因は、UnityのStrippingが原因だった!対処方法を解説します。記事を読むこれからスクレイピングを学ぶ方へ!pythonならば7行程のソースコードで実装できる!ウェブスクレイピングは、7行程のコードで実装できるので、WEBページからデータを取得するところまでは簡単と言えます。私は、都...記事を読むUnity・IOS端末から使用メモリ・搭載メモリ(RAM)・MemoryWarningを確認・検出できる方法を解説するよこの記事では、UnityからIOS端末にアクセスして使用メモリ、メモリーワークングなどの情報を取得する方法について、実際に作成したツールを元に解説します。記事を読むpythonスクリプトあり!Apacheの数万行のアクセスログをpythonを使ってまとめてみたApacheのログからボトルネック(レスポンス時間が極めて遅いところの調査)を調査することになりました。何万行もあるログを上から見ていくのは至難の技です。なんとか効率化できないものか考えたところ、pythonで数分間隔毎に、リクエストURLごとに平均レスポンス時間、最大レスポンス時間を纏めるものを作ってみた。Studioで作成したプロジェクトをバージョン管理をしたい。Cl...記事を読むPHPにてRedisに限界までデータを登録したあと、データ追加したときの挙動を確認してみたRedisに限界までメモリーにデータを保存したあと、新たにデータを追加したらどうなるか知りたくなったので確認してみた。その結果、(有効期限の設定がない場合)データを追加できなくなりました。この記事では、データの追加ができなくなることを検証した方法を解説します。記事を読むUnityにてiPhoneX対応・NGUIのUIAnchorにSafeAreaの補正処理を入れてみたとりあえず、NGUIのUIAnchorについてSafeAreas対応ができたのでメモ。実行環境がiPhoneXと判定したら、スクリーンとセーフエリアの高さの差分を計算して、差分だけゲームオブジェクト(UIAnchorがアタッチされていること)を下げます。コメントをキャンセルメールアドレスが公開されることはありません。雑記blogコースアウト.。