Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mono.Android] add "built-in" delegate for MAUI+non-Shell #7267

Merged
merged 1 commit into from
Aug 22, 2022

Conversation

jonathanpeppers
Copy link
Member

@jonathanpeppers jonathanpeppers commented Aug 16, 2022

Context: dotnet/maui@15df4ed
Fixes: #7212

In the app we're recording AOT profiles for .NET MAUI, we added a
FlyoutPage and navigated to it. This was good because it added
common scenarios to the profile:

  • Navigation from one page to another
  • A non-Shell API, FlyoutPage
  • FlyoutPage also implicitly uses NavigationPage?

This caused the app to start using System.Reflection.Emit and logging:

08-16 09:46:24.687 31517 31517 D monodroid-assembly: Falling back to System.Reflection.Emit for delegate type '_JniMarshal_PPIZI_L': IntPtr n_OnCreateAnimation_IZI(IntPtr, IntPtr, Int32, Boolean, Int32)

I added a case for _JniMarshal_PPIZI_L, this log message is now gone
when I build and run this app.

I think this should be the last one of these we add, unless one
appears from either:

Context: dotnet/maui@15df4ed
Fixes: dotnet#7212

In the app we're recording AOT profiles for .NET MAUI, we added a
`FlyoutPage` and navigated to it. This was good because it added
common scenarios to the profile:

* Navigation from one page to another
* A non-Shell API, `FlyoutPage`
* `FlyoutPage` also implicitly uses `NavigationPage`?

This caused the app to start using System.Reflection.Emit and logging:

    08-16 09:46:24.687 31517 31517 D monodroid-assembly: Falling back to System.Reflection.Emit for delegate type '_JniMarshal_PPIZI_L': IntPtr
n_OnCreateAnimation_IZI(IntPtr, IntPtr, Int32, Boolean, Int32)

I added a case for `_JniMarshal_PPIZI_L`, this log message is now gone
when I build and run this app.

I think this should be the last one of these we add, unless one
appears from either:

* `dotnet new maui` or `dotnet new maui-blazor`
* [.NET Podcast app][0]

[0]: https://github.com/microsoft/dotnet-podcasts
@jonpryor jonpryor merged commit 2b80d78 into dotnet:main Aug 22, 2022
@PureWeen
Copy link
Member

FlyoutPage also implicitly uses NavigationPage?

For the non-shell path I just made sure to include all non-shell page types (FlyoutPage, TabbedPage, NavigationPage) so that all AOT paths would be covered by whatever combination of these three pages that users will use.

@jonathanpeppers jonathanpeppers deleted the _JniMarshal_PPIZI_L branch August 22, 2022 20:46
jonathanpeppers added a commit that referenced this pull request Aug 22, 2022
Fixes: #7212

Context: 32cff43
Context: dotnet/maui@15df4ed

In the app we're recording AOT profiles for .NET MAUI, we added a
`FlyoutPage` and navigated to  it. This was good because it added
common scenarios to the profile:

  * Navigation from one page to another
  * A non-Shell API, `FlyoutPage`
  * `FlyoutPage` also implicitly uses `NavigationPage`?

This caused the app to start using System.Reflection.Emit and logging:

	D monodroid-assembly: Falling back to System.Reflection.Emit for delegate type '_JniMarshal_PPIZI_L': IntPtr n_OnCreateAnimation_IZI(IntPtr, IntPtr, Int32, Boolean, Int32)

I added a case for `_JniMarshal_PPIZI_L`, and this log message is now
gone when I build and run this app.

I think this should be the last one of these we add, unless one
appears from either:

  * `dotnet new maui` or `dotnet new maui-blazor`
  * [.NET Podcast app][0]

[0]: https://github.com/microsoft/dotnet-podcasts
grendello added a commit to grendello/xamarin-android that referenced this pull request Aug 23, 2022
* main:
  Bump r8 from 3.3.28 to 3.3.75 (dotnet#7292)
  [Xamarin.Android.Build.Tasks] Pass `hybrid` to AOT, if enabled (dotnet#7263)
  Bump to lz4/lz4@5ff83968 [v1.9.4] (dotnet#7262)
  [Mono.Android] add "built-in" delegate for MAUI+non-Shell (dotnet#7267)
grendello added a commit to grendello/xamarin-android that referenced this pull request Aug 23, 2022
* mm-runtime:
  Implement some requested changes
  Bump r8 from 3.3.28 to 3.3.75 (dotnet#7292)
  [Xamarin.Android.Build.Tasks] Pass `hybrid` to AOT, if enabled (dotnet#7263)
  Bump to lz4/lz4@5ff83968 [v1.9.4] (dotnet#7262)
  [Mono.Android] add "built-in" delegate for MAUI+non-Shell (dotnet#7267)
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
3 participants