Repository for building MAUI apps over time using different versions -- for installing & profiling.
These numbers were measured with preinstalled apps with scripts\profile.ps1
on a Pixel 5 device running Android 12.
** This is using the Preview 14 template built with MAUI RC 1. In RC 1, the template changed to use the shell navigation pattern and includes lots of built-in styles. It is a better template -- it just has more "stuff" in it. The old template's times should be a direct comparison between past releases.
NOTE: .NET 7 svc
(servicing) is using .NET MAUI 7.0.96. I am using the same device from above benchmarks, but it has had several Android updates and is likely now aging. I reran one of these using the .apk
saved here, and the number went from 545.4ms -> 558.8ms using the exact same device today.
XamarinAndroidApp
: Xamarin.Android Single View Application template from VS 2022XamarinFormsFlyout
: Xamarin.Forms Flyout template from VS 2022dotnet new android
: literally run this commanddotnet new maui
: literally run this commandIn .NET 6, a project with -p:UseInterpreter=true
includes libmono-component-hot_reload.so
. I recorded some startup times for this, mainly as an experiment. This might be a view into what a tiered-JIT could look like?
How to use scripts\profile.ps1
?
If you don't easily know an apps package name & main activity:
You could open the .apk
in Android Studio and look at the AndroidManifest.xml
file.
Or run:
> adb shell 'dumpsys window | grep mCurrentFocus' mCurrentFocus=Window{f372400 u0 com.myapp.foo/crc64362beeb2c8180c73.MainActivity}
Then you run the script such as:
> .\scripts\profile.ps1 -package com.myapp.foo -activity crc64362beeb2c8180c73.MainActivityRegister ADB with Powershell
You may need to create a powershell alias for adb
:
Set-Alias adb "${env:ProgramFiles(x86)}\Android\android-sdk\platform-tools\adb.exe"
Or you can add the folder containing adb.exe
to your %PATH%
:
if ($env:Path -NotMatch "Android\\android-sdk\\platform") { write-host "Adding Android SDK Platform tools to path" $env:Path += ";${env:ProgramFiles(x86)}\Android\android-sdk\platform-tools" }
(Or use the Windows environment variable menu)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4