Сбой компонента Android Xamarin при утилизации - PullRequest
0 голосов
/ 08 марта 2019

Мы используем сторонний компонент с именем Sharpnado.Forms.HorizontListView

Каждый раз, когда мы хотим расположить объект внутри пользовательского средства визуализации Android, используя:

Control.GetAdapter()?.Dispose();

Приложение вылетает (см. Стек ошибок ниже)

Если мы не вызываем Dispose, у нас не происходит сбой, но возможна утечка памяти.

Вопросы:

1 - Можем ли мы обойти эту проблему на нашей стороне, или это зависит только от владельца стороннего компонента, чтобы исправить это?

2 - Есть ли другой способ сделать это избавление?

Спасибо

[MonoDroid] System.NullReferenceException: Object reference not set to an instance of an object.
[MonoDroid]   at Sharpnado.Presentation.Forms.Droid.Renderers.HorizontalList.AndroidHorizontalListViewRenderer+RecycleViewAdapter.get_ItemCount () [0x00000] in D:\Dev\Sharpnado\src\Xamarin-Forms-Practices\Sharpnado.Presentation.Forms\Sharpnado.Presentation.Forms.Droid\Renderers\HorizontalList\AndroidHorizontalListViewRenderer.RecycleViewAdapter.cs:93 
[MonoDroid]   at Android.Support.V7.Widget.RecyclerView+Adapter.n_GetItemCount (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <7cd821e41c6245e986359cd08947256b>:0 
[MonoDroid]   at (wrapper dynamic-method) System.Object.88(intptr,intptr)
...
[AppCenterCrashes] Unhandled Exception from source=AndroidEnvironment
[AppCenterCrashes] System.NullReferenceException: Object reference not set to an instance of an object.
[AppCenterCrashes]   at Sharpnado.Presentation.Forms.Droid.Renderers.HorizontalList.AndroidHorizontalListViewRenderer+RecycleViewAdapter.get_ItemCount () [0x00000] in D:\Dev\Sharpnado\src\Xamarin-Forms-Practices\Sharpnado.Presentation.Forms\Sharpnado.Presentation.Forms.Droid\Renderers\HorizontalList\AndroidHorizontalListViewRenderer.RecycleViewAdapter.cs:93 
[AppCenterCrashes]   at Android.Support.V7.Widget.RecyclerView+Adapter.n_GetItemCount (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <7cd821e41c6245e986359cd08947256b>:0 
[AppCenterCrashes]   at (wrapper dynamic-method) System.Object.88(intptr,intptr)
...
[Mono] Assembly Ref addref Microsoft.AppCenter.Crashes[0x7096654600] -> System.Core[0x70966d7c00]: 20
...
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_new_byte_array'.
[Mono] Probing 'java_interop_jnienv_new_byte_array'.
[Mono] Found as 'java_interop_jnienv_new_byte_array'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_set_byte_array_region'.
[Mono] Probing 'java_interop_jnienv_set_byte_array_region'.
[Mono] Found as 'java_interop_jnienv_set_byte_array_region'.
[zygote64] Checksum mismatch for dex base.apk:classes2.dex
[zygote64] Checksum mismatch for dex base.apk:classes2.dex
[zygote64] JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_throw'.
[Mono] Probing 'java_interop_jnienv_throw'.
[Mono] Found as 'java_interop_jnienv_throw'.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...