Skip to content
This repository was archived by the owner on Jun 30, 2022. It is now read-only.

Added java memory output #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions UIPerformance/Activities/MainActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ public class MainActivity : AppCompatActivity, NavigationView.IOnNavigationItemS
private TextView _linearTime;
private TextView _linearSumTime;
private TextView _linearMemory;
private TextView _linearJavaMemory;
private TextView _relativeCount;
private TextView _relativeTime;
private TextView _relativeSumTime;
private TextView _relativeMemory;
private TextView _relativeJavaMemory;
private TextView _label;
private Button _startButton;

Expand Down Expand Up @@ -60,10 +62,12 @@ protected override void OnCreate(Bundle savedInstanceState)
_linearTime = FindViewById<TextView>(Resource.Id.linear_time);
_linearSumTime = FindViewById<TextView>(Resource.Id.linear_sumtime);
_linearMemory = FindViewById<TextView>(Resource.Id.linear_memory);
_linearJavaMemory = FindViewById<TextView>(Resource.Id.linear_java_memory);
_relativeCount = FindViewById<TextView>(Resource.Id.relative_count);
_relativeTime = FindViewById<TextView>(Resource.Id.relative_time);
_relativeSumTime = FindViewById<TextView>(Resource.Id.relative_sumtime);
_relativeMemory = FindViewById<TextView>(Resource.Id.relative_memory);
_relativeJavaMemory = FindViewById<TextView>(Resource.Id.relative_java_memory);
_label = FindViewById<TextView>(Resource.Id.label);

_startButton = FindViewById<Button>(Resource.Id.startButton);
Expand Down Expand Up @@ -194,6 +198,7 @@ void handler(ContentFragment sender)
fragment.ViewCreated -= handler;
model.ElapsedTime = sender.ElapsedTime;
model.ElapsedMemory = sender.ElapsedMemory;
model.ElapsedJavaMemory = sender.ElapsedJavaMemory;
UpdateResults(model);
}

Expand All @@ -214,23 +219,24 @@ private void UpdateResults(ResultModel model)
if(model.Type == ViewType.LinearLayout)
{
_linearResults.Add(model);
UpdateUIResults(_linearCount, _linearTime, _linearSumTime, _linearMemory, _linearResults);
UpdateUIResults(_linearCount, _linearTime, _linearSumTime, _linearMemory, _linearJavaMemory, _linearResults);
}
else
{
_relativeResults.Add(model);
UpdateUIResults(_relativeCount, _relativeTime, _relativeSumTime, _relativeMemory, _relativeResults);
UpdateUIResults(_relativeCount, _relativeTime, _relativeSumTime, _relativeMemory, _relativeJavaMemory, _relativeResults);
}
}

private void UpdateUIResults(TextView countTextView, TextView timeTextView, TextView sumtimeTextView, TextView memoryTextView, List<ResultModel> models)
private void UpdateUIResults(TextView countTextView, TextView timeTextView, TextView sumtimeTextView, TextView memoryTextView, TextView memoryJavaTextView, List<ResultModel> models)
{
RunOnUiThread(() =>
{
countTextView.Text = models.Count.ToString();
timeTextView.Text = models.Count > 0 ? models.Select(item => item.ElapsedTime).Average().ToString("0.0") : "0";
sumtimeTextView.Text = models.Count > 0 ? models.Select(item => item.ElapsedTime).Sum().ToString("0.0") : "0";
memoryTextView.Text = models.Count > 0 ? models.Select(item => item.ElapsedMemory).Average().ToString("0.000") : "0";
memoryJavaTextView.Text = models.Count > 0 ? models.Select(item => item.ElapsedJavaMemory).Average().ToString("0.000") : "0";
});
}
}
Expand Down
9 changes: 8 additions & 1 deletion UIPerformance/Fragments/ContentFragment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using Android.OS;
using Android.Support.V4.App;
using Android.Views;
using Java.Lang;

namespace UIPerformance.Fragments
{
Expand All @@ -12,6 +13,7 @@ public class ContentFragment : Fragment

public int ElapsedTime { get; private set; }
public decimal ElapsedMemory { get; private set; }
public decimal ElapsedJavaMemory { get; private set; }

public event ViewCreatedEventHandler ViewCreated;

Expand All @@ -22,9 +24,14 @@ public ContentFragment(int resource)

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
Runtime runtime = Runtime.GetRuntime();
Console.WriteLine("Total - " + runtime.TotalMemory());
Console.WriteLine("Free - " + runtime.FreeMemory());
Console.WriteLine("Max - " + runtime.MaxMemory());
var timeStart = DateTime.UtcNow;
var view = inflater.Inflate(_resource, container, false);
ElapsedMemory = GC.GetTotalMemory(true) / (1024 * 1024);
ElapsedMemory = GC.GetTotalMemory(true);
ElapsedJavaMemory = (runtime.TotalMemory() - runtime.FreeMemory());
ElapsedTime = (DateTime.UtcNow - timeStart).Milliseconds;
ViewCreated?.Invoke(this);
return view;
Expand Down
1 change: 1 addition & 0 deletions UIPerformance/Models/ResultModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ public class ResultModel
public ViewType Type { get; set; }
public int ElapsedTime { get; set; }
public decimal ElapsedMemory { get; set; }
public decimal ElapsedJavaMemory { get; set; }
}
}
22 changes: 18 additions & 4 deletions UIPerformance/Resources/layout/content_main.axml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4"
android:weightSum="4.6"
android:layout_marginLeft="5dp"
android:layout_marginRight="2dp">
<TextView
Expand All @@ -41,14 +41,18 @@
android:layout_weight="0.7" />
<TextView
style="@style/baseText"
android:text="Memory"
android:text=".Net Memory"
android:layout_weight="0.6" />
<TextView
style="@style/baseText"
android:text="Java Memory"
android:layout_weight="0.6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4"
android:weightSum="4.6"
android:layout_marginLeft="5dp"
android:layout_marginRight="2dp">
<TextView
Expand All @@ -75,12 +79,17 @@
android:text="0"
android:layout_weight="0.6"
android:id="@+id/linear_memory" />
<TextView
style="@style/baseText"
android:text="0"
android:layout_weight="0.6"
android:id="@+id/linear_java_memory" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4"
android:weightSum="4.6"
android:layout_marginLeft="5dp"
android:layout_marginRight="2dp">
<TextView
Expand All @@ -107,6 +116,11 @@
android:text="0"
android:layout_weight="0.6"
android:id="@+id/relative_memory" />
<TextView
style="@style/baseText"
android:text="0"
android:layout_weight="0.6"
android:id="@+id/relative_java_memory" />
</LinearLayout>
</LinearLayout>
<Button
Expand Down