저는 iOS에 앱을 제작했으며 현재 Android에서 앱을 제작하고 있습니다. 기본적으로이 앱으로 끝났지 만 앱에서 꽤 일관된 문제가 발생합니다. 앱이 충돌하면 여러 페이지를 때리는 앱을 보러 갈 것입니다. 그것은 꽤 무작위로 보이고 기억 문제로 보입니다. 각 "페이지"는 페이지에 0-2 이미지를 포함 할 수 있지만 주요한 것은 없습니다 (작은 png 파일). 나는 안드로이드 ImageView와 MvxImageView의 조합을 사용하고 있습니다. 나는이 같은 바인딩 이미지 URL을 통해 MvxImageView을 설정하고 있습니다 :MvxImageView.SetImageBitmap이 "메모리 위반"을 야기합니다.
지역 : MvxBind = "이미지 URL 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 초 이내에 "망치질"하는 상황이 발생합니다.
기기 : 삼성 갤럭시 탭 A에서 테스트 한 대부분이며 위 예외입니다. 구형 LG 전화 및 최신 Nexus에서도 테스트를 마쳤습니다. LG 전화도 같은 오류가 발생합니다. 최신 Nexus 오류는 있지만 일관성이 없습니다. 때로는 문제없이 잠시 동안 앱을 사용할 수 있습니다.
당신은'MvvmCross DownloadCache'와'File' 플러그인을 사용하고 있습니까? 이것들은'NuGet'에서 찾을 수 있습니다. – Pilatus
예 두 플러그인을 모두 사용하고 있습니다. –
repro 샘플을 만들고 https://github.com/mvvmcros/mvvmcross-plugins/issues에서 버그를 제출할 수 있습니까? 또는 대신 FFImageLoading과 같은 것을 사용해보고 이것이 지속되는지 확인할 수 있습니다. FFImageLoading에는 MvxImageView와 마찬가지로 바인딩 할 수있는 MvvmCross 특정 ImageView가 있습니다. – Cheesebaron