質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
メモリリーク

メモリリークは、プログラムファイルがメモリの解放に失敗した時に起こります。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

8949閲覧

androidアプリメモリリーク検出方法

panjaA

総合スコア67

メモリリーク

メモリリークは、プログラムファイルがメモリの解放に失敗した時に起こります。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/11/14 00:14

androidアプリでメモリリークを検出する方法などありますでしょうか。

メモリリークを検出したら、何かアクションを起こしたいと思っております。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

アプリ側で検知する、ということでしょうか?おそらくそれは無理かと思います。メモリリークというのは「アプリが検知できないからゴミが残る(メモリリーク)」なわけであって、外部のツールでメモリの中を強引に覗いて、客観的に見て初めて分かるのがメモリリークです。

Clorさんの言うとおり、メモリの残量を見て「メモリリークしているかもしれない」を検知することは可能ですが、「これが原因でメモリリークしている!」はアプリ側からは特定不可能です。

アプリ内部での検知を諦めて外部ツールに頼るのであれば、AndroidStudioにAndroid5.1から使えるMemoryProfilerというものがあります。こちらで接続してメモリの状態を覗けば、原因を探しやすいかと思います。
【参考記事】
https://qiita.com/etet-etet/items/af0e8de7303c5effdcbf

投稿2017/11/14 00:58

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panjaA

2017/11/14 01:21

回答ありがとうございます。 原因追及のため、MemoryProfielr使用してみます。
guest

0

https://developer.android.com/reference/android/app/ActivityManager.MemoryInfo.html

Java

1ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); 2ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); 3activityManager.getMemoryInfo(memoryInfo); 4boolean lowMemory = memoryInfo.lowMemory; // メモリ不足状態ならtrue 5long availMem = memoryInfo.availMem; // 空きメモリ量

こんな感じでメモリ不足のフラグや空きメモリ量を取得できます。
サービス等で上記を定期的に取得して、lowMemoryを見るか、availMemの減少具合を見るのはどうでしょうか。

投稿2017/11/14 00:36

編集2017/11/14 00:37
Clor

総合スコア883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panjaA

2017/11/14 01:20

ありがとうございます。試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問