У меня очень большая проблема с нашим приложением. Нам нужно много места для преобразования битмапа, но непосредственно при запуске (из приложения) большая часть памяти получает выделение с помощью неизвестного материала ... Ниже вы можете найти Консольный выход из Xamarin Studio. Что может вызвать такие большие распределения? Приложения тестируется на различных устройствах, ниже Выход из наихудших (Samsung Galaxy S3)Проблемы с запуском приложений для Android (растущая куча)
Это мой OnCreate из MainActivity:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
}
Консоли вывод:
Forwarding debugger port 8808
Detecting existing process
Loaded assembly: /storage/emulated/0/Android/data/com.#AppName#.#AppName#/files /.__override__/#AppName#.dll
Loaded assembly: Mono.Android.dll [External]
Loaded assembly: System.Core.dll [External]
Loaded assembly: MonoDroidConstructors [External]
[monodroid-debug] Trying to initialize the debugger with options: --debugger- agent=transport=dt_socket,loglevel=0,address=127.0.0.1:8808,server=y,embedding=1
[libc] WARNING: generic atexit() called from legacy shared library
[Mono] Image addref mscorlib[0x57bc76f0] -> mscorlib.dll[0x41d0f588]: 1
[Mono] AOT module 'mscorlib.dll.so' not found: dlopen failed: library "/data /data/com.#AppName#.#AppName#/lib/mscorlib.dll.so" not found
[Mono] Assembly mscorlib[0x57bc76f0] added to domain RootDomain, ref_count=1
[Mono] Assembly Loader probing location: '/storage/emulated/0/Android /data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll'.
[Mono] Image addref #AppName#[0x57bc9dd8] -> /storage/emulated/0/Android /data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll[0x57bc9008]: 2
[Mono] Assembly #AppName#[0x57bc9dd8] added to domain RootDomain, ref_count=1
[Mono] AOT module '/storage/emulated/0/Android/data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll.so' not found: dlopen failed: library "/data /data/com.#AppName#.#AppName#/lib//storage/emulated/0/Android/data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll.so" not found
[Mono] Assembly Loader loaded assembly from location: '/storage/emulated/0/Android/data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll'.
[Mono] Config attempting to parse: '/storage/emulated/0/Android/data/com.#AppName#.#AppName#/files/.__override__/#AppName#.dll.config'.
[Mono] Config attempting to parse: '/Users/builder/data/lanes/1131/2a7b6821/source/monodroid/builds/install/mono-armv7/etc/mono/assemblies/#AppName#/#AppName#.config'.
[monodroid-gc] GREF GC Threshold: 46800
[Mono] Image addref Mono.Android[0x57bcac10] -> Mono.Android.dll[0x57bca250]: 1
[Mono] Assembly Mono.Android[0x57bcac10] added to domain RootDomain, ref_count=1
[Mono] AOT module 'Mono.Android.dll.so' not found: dlopen failed: library "/data/data/com.#AppName#.#AppName#/lib/Mono.Android.dll.so" not found
[Mono] Assembly Ref addref Mono.Android[0x57bcac10] -> mscorlib[0x57bc76f0]: 2
[Mono] Image addref System.Core[0x59182658] -> System.Core.dll[0x59181a40]: 1
[Mono] Assembly System.Core[0x59182658] added to domain RootDomain, ref_count=1
[Mono] AOT module 'System.Core.dll.so' not found: dlopen failed: library "/data/data/com.#AppName#.#AppName#/lib/System.Core.dll.so" not found
[Mono] Assembly Ref addref Mono.Android[0x57bcac10] -> System.Core[0x59182658]: 2
[Mono] Assembly Ref addref System.Core[0x59182658] -> mscorlib[0x57bc76f0]: 3
[Mono] Assembly Ref addref #AppName#[0x57bc9dd8] -> Mono.Android[0x57bcac10]: 2
[Mono] DllImport attempting to load: '__Internal'.
[Mono] DllImport loaded library '(null)'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for '_monodroid_gc_wait_for_bridge_processing'.
[Mono] Probing '_monodroid_gc_wait_for_bridge_processing'.
[Mono] Found as '_monodroid_gc_wait_for_bridge_processing'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for '_monodroid_get_identity_hash_code'.
[Mono] Probing '_monodroid_get_identity_hash_code'.
[Mono] Found as '_monodroid_get_identity_hash_code'.
[Mono] Assembly Ref addref #AppName#[0x57bc9dd8] -> mscorlib[0x57bc76f0]: 4
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for '_monodroid_gref_log_new'.
[Mono] Probing '_monodroid_gref_log_new'.
[Mono] Found as '_monodroid_gref_log_new'.
[dalvikvm-heap] Grow heap (frag case) to 12.344MB for 2005072-byte allocation
[dalvikvm-heap] Grow heap (frag case) to 19.993MB for 8020240-byte allocation
[dalvikvm-heap] Grow heap (frag case) to 32.004MB for 11632656-byte allocation
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for '_monodroid_gref_log_delete'.
[Mono] Probing '_monodroid_gref_log_delete'.
[Mono] Found as '_monodroid_gref_log_delete'.
Спасибо за помощь!
Edit:
Использование LargeHeap в манифесте не помогает. И когда я загружаю приложение без макета на всех, размер кучи также увеличивается до 19 мб.
Время работы приложения HelloWorld (из 100-мегабайтной кучи) с использованием ~ 15 МБ (в версии) ~ 14 МБ (в версии/aot/llvm) ~ 16 МБ (в режиме отладки, без отладчика), ~ 17 МБ (в режиме отладки) который включает в себя среду исполнения на основе Mono (NDK), некоторые .Net-сборки, java-мост, активность запуска и т. д. ... при запуске звучит прямо для меня .... – SushiHangover