Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
3 participants