Я создал приложение в iOS и теперь создаю приложение на Android. Я в основном делаю это с приложением, но у меня довольно сложная проблема в приложении. Я буду проходить через приложение, попадающее на разные страницы, когда приложение выйдет из строя. Кажется, он довольно случайный и, похоже, проблема с памятью. На каждой «странице» может быть 0-2 изображения на странице, но ничего значительного (небольшие png-файлы). Я использую комбинацию android ImageView и MvxImageView. Я устанавливаю MvxImageView через связывание ImageUrl так:MvxImageView.SetImageBitmap, вызывающий «нарушение памяти»
местный: MvxBind = "ImageUrl CurrencyImage"
Вот исключение я получаю:
[mono-rt] Stacktrace:
[mono-rt]
[mono-rt] at <unknown> <0xffffffff>
[mono-rt] at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr,intptr&,intptr,intptr,intptr,Java.Interop.JniArgumentValue*) <0x0005b>
[mono-rt] at Java.Interop.JniEnvironment/InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference,Java.Interop.JniObjectReference,Java.Interop.JniMethodInfo,Java.Interop.JniArgumentValue*) [0x0008f] in /Users/builder/data/lanes/3819/96c7ba6c/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12079
[mono-rt] at Java.Interop.JniPeerMembers/JniInstanceMethods.InvokeVirtualVoidMethod (string,Java.Interop.IJavaPeerable,Java.Interop.JniArgumentValue*) [0x00068] in /Users/builder/data/lanes/3819/96c7ba6c/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:31
[mono-rt] at Android.Widget.ImageView.SetImageBitmap (Android.Graphics.Bitmap) [0x0002c] in /Users/builder/data/lanes/3819/96c7ba6c/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Android.Widget.ImageView.cs:1026
[mono-rt] at MvvmCross.Binding.Droid.Views.MvxImageView.SetImageBitmap (Android.Graphics.Bitmap) <IL 0x00032, 0x0019b>
[mono-rt] at MvvmCross.Binding.Droid.Views.MvxImageView/<>c__DisplayClass19_0.<ImageHelperOnImageChanged>b__0() <IL 0x00011, 0x000b7>
[mono-rt] at Java.Lang.Thread/RunnableImplementor.Run() [0x0000b] in /Users/builder/data/lanes/3819/96c7ba6c/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
[mono-rt] at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) [0x00009] in /Users/builder/data/lanes/3819/96c7ba6c/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Java.Lang.IRunnable.cs:81
[mono-rt] at (wrapper dynamic-method) object.037ff22d-dd39-45fa-8726-c673a7d6897c (intptr,intptr) <IL 0x00011, 0x0003b>
[mono-rt] at (wrapper native-to-managed) object.037ff22d-dd39-45fa-8726-c673a7d6897c (intptr,intptr) <IL 0x00021, 0x000ef>
А вот аудит я вижу в DDMS:
10-13 17:26:06.213: E/audit(2793): type=1701 msg=audit(1476393966.213:869): auid=4294967295 uid=10198 gid=10198 ses=4294967295 subj=u:r:untrusted_app:s0:c512,c768 pid=14236 comm="APPNAME.droid" reason="memory violation" sig=11
Любая помощь была бы принята с благодарностью. Когда я говорю об этом выше, в основном в течение 30 секунд после «забивания» в приложении что-то происходит.
Приборы: Большая часть тестирования на Samsung Galaxy Tab A и это от исключения выше. Также были протестированы на более старых телефонах LG и последнем Nexus. Телефон LG имеет такую же ошибку. Последний Nexus Я получил ошибку, но не настолько последователен. Я могу быть в приложении некоторое время, иногда без проблем.
Вы используете плагин 'MvvmCross DownloadCache' и' File'? Их можно найти на 'NuGet'. – Pilatus
Да, я использую оба плагина. –
Можете ли вы сделать образец для повторного воспроизведения и отправить ошибку на https://github.com/mvvmcros/mvvmcross-plugins/issues? В качестве альтернативы вы можете попробовать использовать что-то вроде FFImageLoading и посмотреть, сохранится ли это. FFImageLoading имеет специальный ImageView MvvmCross, с которым вы можете привязываться так же, как MvxImageView. – Cheesebaron