From 2f374a1c707dd22b79b7fa6b04dea5a84194bf7a Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 28 Dec 2020 12:54:50 +0100 Subject: [PATCH] [illink] Do not preserve IO stream adapter/invoker Context: https://github.com/xamarin/xamarin-android/issues/5206 Context: https://github.com/xamarin/xamarin-android/issues/5167 They are only accessed through `CallbackCode` class in M.A.Export with reflection code, which ILLink is able to detect. This change reduces the apk size in common situation, when M.A.Export is not used. apk size comparison, BuildReleaseArm64False test: > apkdiff -f -e dll$ before.apk after.apk Size difference in bytes ([*1] apk1 only, [*2] apk2 only): - 80 assemblies/System.Console.dll - 129 assemblies/Java.Interop.dll - 1,237 assemblies/System.Private.CoreLib.dll - 6,093 assemblies/Mono.Android.dll Summary: - 7,539 Assemblies -1.01% (of 749,078) --- .../PreserveLists/Mono.Android.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Microsoft.Android.Sdk.ILLink/PreserveLists/Mono.Android.xml b/src/Microsoft.Android.Sdk.ILLink/PreserveLists/Mono.Android.xml index 3958d28e331..24c014afc59 100644 --- a/src/Microsoft.Android.Sdk.ILLink/PreserveLists/Mono.Android.xml +++ b/src/Microsoft.Android.Sdk.ILLink/PreserveLists/Mono.Android.xml @@ -5,8 +5,6 @@ - - @@ -34,8 +32,6 @@ - -