Android 有没有办法防止RecyclerView分离视图?

Android 有没有办法防止RecyclerView分离视图?,android,android-recyclerview,Android,Android Recyclerview,有没有办法防止RecyclerView分离视图?我陷入了一种需要实时屏幕外视图的情况,当我在RecyclerView中滚动出项目视图时,会调用onViewDetachedFromWindow 该用例是一个使用SDK的多流视频播放器,不幸的是,该SDK具有Thread.Sleep,并且需要使用主线程,因此不会崩溃。我无法访问此SDK的内部,因此无法更改此行为 SDK创建从FrameLayout继承的每个小部件,如果我不关闭底层媒体源,我会收到一个JNI异常,抱怨表面消失了。因此,出于这个原因,我在

有没有办法防止RecyclerView分离视图?我陷入了一种需要实时屏幕外视图的情况,当我在RecyclerView中滚动出项目视图时,会调用onViewDetachedFromWindow

该用例是一个使用SDK的多流视频播放器,不幸的是,该SDK具有Thread.Sleep,并且需要使用主线程,因此不会崩溃。我无法访问此SDK的内部,因此无法更改此行为

SDK创建从FrameLayout继承的每个小部件,如果我不关闭底层媒体源,我会收到一个JNI异常,抱怨表面消失了。因此,出于这个原因,我在OnViewAttachedFromWindow中调用SDK.close(),在onViewAttachedToWindow中调用SDK.open()

这里的问题是,当我浏览提要时,由于主线程在打开/关闭SDK流时所做的工作,有一个非常不稳定的滚动行为

以前,我有一个具有很大屏幕外限制的ViewPager,在初始加载所有提要(完美无缝滚动)后,它工作得非常好。但是,现在我必须提供不同的查看模式(一次一个屏幕,2x2网格,等等),这对于LayoutManager来说是一个很好的用例,并且创建为ViewPager很烦人(还有我没有提到的各种类型的触摸交互-在ViewPager中很难管理)

我还尝试延迟SDK打开和关闭调用,直到滚动完成——但这偶尔会导致奇怪的行为

在RecyclerView方面,setItemViewCacheSize和isRecycleable在分离视图方面似乎没有什么区别。我还尝试在LayoutManager中重写getExtraLayoutSpace,但它似乎也无法解决滚动的问题


最后,我目前的解决方法是使用PagerSnapHelper只允许“按一个滚动”功能…

设置视图保持架不起作用?

设置视图保持架不起作用?

据我所知,这与回收/收集有关,而不是视图附着/分离据我所知,这与回收/收集有关,而不是视图附着/分离