Xamarin.Android AndroidEnvironment文件未应用于更改GC Bridge实现

少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述Xamarin.Android AndroidEnvironment文件未应用于更改GC Bridge实现相关的知识,希望能为你提供帮助。
我添加了一个名为env.conf的文件,其中包含以下内容

MONO_GC_PARAMS=bridge-implementation=tarjan MONO_GC_PARAMS=nursery-size=128m MONO_GC_PARAMS=soft-heap-limit=512m

到我的android项目并将其构建操作配置为AndroidEnvironment。不幸的是,应用程序的输出声明旧桥实现用于垃圾收集:
【Xamarin.Android AndroidEnvironment文件未应用于更改GC Bridge实现】07-09 09:43:34.042 D / Mono(32084):GC_OLD_BRIDGE num-objects 228 num_hash_entries 2049 sccs size 1277 init 0.00ms df1 7.35ms sort 2.87ms dfs2 2.96ms setup-cb 0.40ms free-data 3.11ms links 2593 / 2593/1284/16 dfs通过4870/3870
07-09 09:43:34.042 D / Mono(32084):GC_MAJOR :( LOS溢出)暂停60.33ms,总计61.31ms,桥45.65ms主要6864K / 6608K洛杉矶510K / 12016K
我正在使用Xamarin 3.11.666.0和Xamarin.Android 5.1.4.16,这似乎是目前这些软件包的最新版本。
如何为应用程序应用新的桥接器实现?
答案将它们组合成一行:
MONO_GC_PARAMS=bridge-implementation=tarjan,nursery-size=128m,soft-heap-limit=512m

由于某些原因,当您逐行声明时,不会应用任何参数。
另一答案原因是您将这些值分配给同一个变量,因此只有最后一个值才有效。
你可以这样逐行:
MONO_GC_PARAMS=bridge-implementation=tarjan MONO_GC_PARAMS=$MONO_GC_PARAMS,nursery-size=128m MONO_GC_PARAMS=$MONO_GC_PARAMS,soft-heap-limit=512m


    推荐阅读