2016-06-11 24 views
3

私はこの簡単なAndroidスタジオプロジェクトを使用して、小さなコードスニペットをテストしています。今日、私はいくつかのコードを操作しながら、私は自分のデバイスを回転するたびに、それは、より多くのメモリを使用するアプリケーションを引き起こすことに気づいた。次のようにグラフのスクリーンショットである。Androidスタジオ - デバイスを回転させると、使用するメモリが増えます。

memory increase as I keep rotating the device

Iデバイスを回転させるたびに、割り当てられたメモリが増加し、空きメモリの量が減少します。空きメモリがゼロになると、メモリのチャンクは消去されますが、すべて消去されるわけではありません。私はデバイスを前後に回転させ続けると、最終的にはアプリケーションに利用可能な空きメモリが増え、割り当てられたメモリは増加し続けます。

これは、TextViewが1つしかなく、実行コードがまったくない単純なアプリです。データベース活動なし、ネットワーク活動なし、カーソルなし、何もメモリリークを引き起こすものはありません。

はここMainActivity.javaコンテンツである:

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    } 
} 

私はJavaヒープをダンプしようとしたが、それは私にすべてjibberishを探します。

これは期待された動作ですか?実際にメモリを満たしているのは何ですか?何が起こっている?

+0

メモリリークがあります。回転されているアクティビティのコードを投稿します。 –

+0

私はコードを掲載しました。親クラス呼び出しとsetContentView()行を除いて実行されることはありません。 – SercioSoydanov

+0

あなたはrestarを試してキャッシュを無効にしました、清潔でプロプライエクトを構築しましたか? –

答えて

1

これがあなたのMainActivityの場合、メモリリークは発生しません。

しかし、メモリモニタにInitiate GBというボタンがあることを確認したい場合は、これをクリックすると、未使用の参照を解放するガベージコレクタが実行されます。

これを実行すると、メモリが初期値に低下します。

関連する問題