2016-06-11 57 views
3

我有這個簡單的Android Studio項目來測試一些小代碼片段。今天,當我擺弄一些代碼時,我注意到每次旋轉我的設備時,都會導致應用程序使用越來越多的內存。圖表的屏幕截圖如下:Android Studio - 旋轉設備會導致使用越來越多的內存

memory increase as I keep rotating the device

每次我旋轉設備,分配的存儲器的增加和釋放內存量減少。當空閒內存命中爲零時,它將清除一大塊內存,但不是全部。隨着我不停地旋轉設備,最終會導致更多可用的應用程序可用內存,並且分配的內存不斷增加和增加。

這是一個簡單的應用程序,只有一個TextView,根本沒有執行代碼。沒有數據庫活動,沒有網絡活動,沒有遊標,什麼都不會導致任何內存泄漏。

這裏是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和無效的緩存,清理和建立proyect? –

回答

1

如果這是你的MainActivity那麼你沒有內存泄漏。

但是,如果您想確定內存顯示器中有一個名爲Initiate GB的按鈕。點擊它會運行垃圾收集器釋放你未使用的引用。

當你這樣做時,你會看到內存降到最初的數量。