首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"IllegalArgumentException: Layer被重绘“,同时使用collectAsLazyListItems()和JetpackCompose分页快速滚动

"IllegalArgumentException: Layer被重绘“,同时使用collectAsLazyListItems()和JetpackCompose分页快速滚动
EN

Stack Overflow用户
提问于 2020-12-12 08:28:10
回答 1查看 257关注 0票数 1

我在我的可组合中使用了Flow<PagingData<T>>.collectAsLazyPagingItems()扩展方法。

流来自RemoteMediator,我使用本地和远程数据源。

只有当我快速滚动时,它才会崩溃,而当滚动缓慢时,它就不会发生。

撰写版本:

compose_version =‘1.0.0-字母07’

nav_compose_version =‘1.0.0-字母02’

paging_compose_version =‘1.0.0-字母02’

坠机事件是:

代码语言:javascript
复制
com.zk.trackshows E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zk.trackshows, PID: 22201
    java.lang.IllegalArgumentException: Layer is redrawn for LayoutNode in state NeedsRelayout [LayoutNode@56ee45a children: 1 measureBlocks: androidx.compose.ui.layout.SubcomposeLayoutState$createMeasureBlocks$1@772aaf4]
        at androidx.compose.ui.node.LayerWrapper.invoke(LayerWrapper.kt:167)
        at androidx.compose.ui.node.LayerWrapper.invoke(Unknown Source:3)
        at androidx.compose.ui.platform.RenderNodeApi29$record$1$1.invoke(RenderNodeApi29.kt:159)
        at androidx.compose.ui.platform.RenderNodeApi29$record$1$1.invoke(Unknown Source:0)
        at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:1721)
        at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128)
        at androidx.compose.ui.platform.AndroidComposeView.observeLayerModelReads(AndroidComposeView.kt:494)
        at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.kt:158)
        at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.kt:192)
        at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.kt:563)
        at android.view.View.draw(View.java:22175)
        at android.view.View.updateDisplayListIfDirty(View.java:21024)
        at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4441)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4414)
        at android.view.View.updateDisplayListIfDirty(View.java:20984)
        at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4441)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4414)
        at android.view.View.updateDisplayListIfDirty(View.java:20984)
        at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4441)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4414)
        at android.view.View.updateDisplayListIfDirty(View.java:20984)
        at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4441)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4414)
        at android.view.View.updateDisplayListIfDirty(View.java:20984)
        at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4441)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4414)
        at android.view.View.updateDisplayListIfDirty(View.java:20984)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:582)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:588)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:665)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:4048)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3757)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3026)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1963)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8237)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
        at android.view.Choreographer.doCallbacks(Choreographer.java:1041)
        at android.view.Choreographer.doFrame(Choreographer.java:953)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1220)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7711)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-14 14:03:04

升级以下版本:

撰写版本: compose_version =‘1.0.0-字母08’nav_compose_version =‘1.0.0-α03’paging_compose_version =‘1.0.0-α03’

和kotlin版本1.4.21 (在stdlib和kotlinCompilerVersion中都在composeOptions中)

消除了坠机

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65262983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档