1
我使用NuGet的'Hot Tuna Starter Pack'創建了一個包含MvvmCross的Android應用程序。 ,做一些改動:簡單的應用程序內存使用情況
在生成的firstView佈局我添加一個按鈕
<Button android:layout_width="fill_parent" android:layout_height="wrap_content" local:MvxBind="Click ShowNextScreenCommand" android:textSize="40dp" />
在FirstViewModel我添加了一個命令
public IMvxCommand ShowNextScreenCommand { get { return new MvxCommand(() => this.ShowViewModel<SecondViewModel>()); } }
我然後創建第二活動SecondView,爲此我只複製粘貼FirstView.axml,FirstView.cs和FirstViewModel並重新命名。 唯一的變化是命令導航回:
public IMvxCommand ShowNextScreenCommand { get { return new MvxCommand(() => this.Close(this)); } }
我的設備上運行應用程序,並通過點擊按鈕活動之間導航來回並使用DDMS觀察到的堆。
該應用程序以15MB分配的堆開始,在點擊了DDMS中的'原因GC'後,在幾次導航之後分配的堆是32MB。
我花了更多時間在設備上的應用程序之間切換或保持設備閒置,但分配的堆沒有減少。
我本來希望分配的內存被釋放。 我猜它最終得到?
是的,我知道這個理論。我無法理解發生了什麼事。我正在測試一個真實的設備 –