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
И настроил для него действие сборки как AndroidEnvironment
, Но в выводе приложения все еще говорится, что для GC используется реализация Old bridge:
07-09 09: 43: 34.042 D / Mono (32084): GC_OLD_BRIDGE num-объекты 228 num_hash_entries 2049 sccs размер 1277 init 0.00ms df1 7.35ms sort 2.87ms dfs2 2.96ms setup-cb 0,40ms free-data 3,11ms ссылки 2593 / 2593/1284/16 DFS проходит 4870/3870
07-09 09: 43: 34.042 D / Mono (32084): GC_MAJOR: (переполнение LOS) пауза 60,33 мс, всего 61,31 мс, мост 45,65 мс, основной 6864 К / 6608 К, потеря 510 К / 12016 К
Я использую Xamarin 3.11.666.0, Xamarin.Android 5.1.4.16, который кажется самым последним
Как я могу применить новую реализацию моста для приложения?
1 ответ
Объедините их в одну строку:
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