alibaba / Tangram-Android

Tangram is a modular UI solution for building native page dynamically including Tangram for Android, Tangram for iOS and even backend CMS. This project provides the sdk on Android.
http://tangram.pingguohe.net/
MIT License
4.11k stars 526 forks source link

master 分支,最新的demo 上下滑动,view错乱,并且会crash #64

Closed liufsd closed 6 years ago

liufsd commented 6 years ago

如题,上下滚动的时候,发现中间的‘oneplus’模块有显示错乱,以及crash问题。 log如下:

  12-12 13:28:22.830 13703-13703/com.tmall.wireless.tangram.example W/Load page: com.tmall.request.load.more page 1
12-12 13:28:22.840 13703-13703/com.tmall.wireless.tangram.example W/OnePlusNLayoutHelper: Happens when header scroll out of window and layoutManager use first content view as anchor to layout
12-12 13:28:22.860 13703-13703/com.tmall.wireless.tangram.example W/OnePlusNLayoutHelper: Happens when header scroll out of window and layoutManager use first content view as anchor to layout
12-12 13:28:22.865 13703-13703/com.tmall.wireless.tangram.example W/OnePlusNLayoutHelper: Happens when header scroll out of window and layoutManager use first content view as anchor to layout
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err: java.lang.RuntimeException: trying to unhide a view that was not hiddencom.tmall.wireless.tangram.example.data.TestView{31bd019c V.E...C. ......I. 540,646-1080,1036 #7f0c0003 app:id/TANGRAM_VIEW_CONTAINER_ID}
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.ChildHelper.unhide(ChildHelper.java:355)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.RecyclerView$Recycler.getScrapViewForPosition(RecyclerView.java:4826)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4380)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx$LayoutState.next(ExposeLinearLayoutManagerEx.java:1629)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.VirtualLayoutManager$LayoutStateWrapper.next(VirtualLayoutManager.java:1043)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.layout.BaseLayoutHelper.nextView(BaseLayoutHelper.java:116)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.layout.AbstractFullFillLayoutHelper.getAllChildren(AbstractFullFillLayoutHelper.java:67)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.layout.OnePlusNLayoutHelper.layoutViews(OnePlusNLayoutHelper.java:194)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.layout.BaseLayoutHelper.doLayout(BaseLayoutHelper.java:318)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.VirtualLayoutManager.layoutChunk(VirtualLayoutManager.java:639)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx.fill(ExposeLinearLayoutManagerEx.java:1162)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx.onLayoutChildren(ExposeLinearLayoutManagerEx.java:365)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.alibaba.android.vlayout.VirtualLayoutManager.onLayoutChildren(VirtualLayoutManager.java:463)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.View.layout(View.java:15731)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5050)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.View.layout(View.java:15731)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5050)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.View.layout(View.java:15731)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5050)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1734)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1588)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.LinearLayout.onLayout(LinearLayout.java:1497)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.View.layout(View.java:15731)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5050)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.View.layout(View.java:15731)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5050)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2154)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1907)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1105)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6186)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:793)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.Choreographer.doCallbacks(Choreographer.java:606)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.Choreographer.doFrame(Choreographer.java:575)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:779)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.os.Handler.handleCallback(Handler.java:739)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.os.Looper.loop(Looper.java:137)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5595)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at java.lang.reflect.Method.invoke(Method.java:372)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
12-12 13:28:22.870 13703-13703/com.tmall.wireless.tangram.example W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
12-12 13:28:22.875 13703-13703/com.tmall.wireless.tangram.example D/AndroidRuntime: Shutting down VM
12-12 13:28:22.875 13703-13703/com.tmall.wireless.tangram.example E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                    Process: com.tmall.wireless.tangram.example, PID: 13703
                                                                                    java.lang.RuntimeException: trying to unhide a view that was not hiddencom.tmall.wireless.tangram.example.data.TestView{31bd019c V.E...C. ......I. 540,646-1080,1036 #7f0c0003 app:id/TANGRAM_VIEW_CONTAINER_ID}
                                                                                        at android.support.v7.widget.ChildHelper.unhide(ChildHelper.java:355)
                                                                                        at android.support.v7.widget.RecyclerView$Recycler.getScrapViewForPosition(RecyclerView.java:4826)
                                                                                        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4380)
                                                                                        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
                                                                                        at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx$LayoutState.next(ExposeLinearLayoutManagerEx.java:1629)
                                                                                        at com.alibaba.android.vlayout.VirtualLayoutManager$LayoutStateWrapper.next(VirtualLayoutManager.java:1043)
                                                                                        at com.alibaba.android.vlayout.layout.BaseLayoutHelper.nextView(BaseLayoutHelper.java:116)
                                                                                        at com.alibaba.android.vlayout.layout.AbstractFullFillLayoutHelper.getAllChildren(AbstractFullFillLayoutHelper.java:67)
                                                                                        at com.alibaba.android.vlayout.layout.OnePlusNLayoutHelper.layoutViews(OnePlusNLayoutHelper.java:194)
                                                                                        at com.alibaba.android.vlayout.layout.BaseLayoutHelper.doLayout(BaseLayoutHelper.java:318)
                                                                                        at com.alibaba.android.vlayout.VirtualLayoutManager.layoutChunk(VirtualLayoutManager.java:639)
                                                                                        at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx.fill(ExposeLinearLayoutManagerEx.java:1162)
                                                                                        at com.alibaba.android.vlayout.ExposeLinearLayoutManagerEx.onLayoutChildren(ExposeLinearLayoutManagerEx.java:365)
                                                                                        at com.alibaba.android.vlayout.VirtualLayoutManager.onLayoutChildren(VirtualLayoutManager.java:463)
                                                                                        at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
                                                                                        at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
                                                                                        at android.view.View.layout(View.java:15731)
                                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5050)
                                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
                                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                                        at android.view.View.layout(View.java:15731)
                                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5050)
                                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
                                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                                        at android.view.View.layout(View.java:15731)
                                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5050)
                                                                                        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1734)
                                                                                        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1588)
                                                                                        at android.widget.LinearLayout.onLayout(LinearLayout.java:1497)
                                                                                        at android.view.View.layout(View.java:15731)
                                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5050)
                                                                                        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:581)
                                                                                        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
                                                                                        at android.view.View.layout(View.java:15731)
                                                                                        at android.view.ViewGroup.layout(ViewGroup.java:5050)
                                                                                        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2154)
                                                                                        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1907)
                                                                                        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1105)
                                                                                        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6186)
                                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:793)
                                                                                        at android.view.Choreographer.doCallbacks(Choreographer.java:606)
                                                                                        at android.view.Choreographer.doFrame(Choreographer.java:575)
                                                                                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:779)
                                                                                        at android.os.Handler.handleCallback(Handler.java:739)
                                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                        at android.os.Looper.loop(Looper.java:137)
                                                                                        at android.app.ActivityThread.main(ActivityThread.java:5595)
                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                        at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
12-12 13:28:22.880 4204-4457/? W/ActivityManager:   Force finishing activity 1 com.tmall.wireless.tangram.example/.TangramActivity
12-12 13:28:22.885 4204-4457/? D/ActivityManager: moveHomeStackTaskToTop: moving TaskRecord{26ce11db #1 A=com.huawei.android.launcher U=0 sz=1}
12-12 13:28:22.885 4204-4448/? I/InputDispatcher: touch process [13703], send to pg
12-12 13:28:22.890 4204-4457/? V/HwWindowManagerService: moveTaskToTop mTaskChanged:true
12-12 13:28:22.890 3681-3886/? I/logserver: Object Path:/data/system/dropbox/, mask=0x00000080
12-12 13:28:22.890 3681-3886/? I/logserver: event->len=48, name=data_app_crash@1513056502894.txt.gz
12-12 13:28:22.890 4204-4457/? V/HwWindowManagerService: setFocusedApp update app ops, mTaskChanged set to:false
12-12 13:28:22.890 3681-3886/? I/logserver: find_first_match: find match, plogs(type=1, pfile=/data/system/dropbox/, match=app_crash)
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{3843550e u0 android} hase children size:0
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{766557d u0 android} hase children size:0
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{72f6540 u0 android} hase children size:0
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{3a21be1f u0 android} hase children size:0
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{33652696 u0 android} hase children size:0
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{1d1c97ed u0 android} hase children size:0
12-12 13:28:22.890 3681-3886/? I/logserver: move_dir:src_path=/data/log/dbox/appdbg/logcache
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{2a869e70 u0 android} hase children size:0
12-12 13:28:22.890 3681-3886/? I/logserver: move_dir:dst_path=/data/log/logcache/13288456/
12-12 13:28:22.890 4204-4447/? I/HwWindowManagerService: this win:Window{6bfe5ab u0 com.android.systemui} hase children size:0
12-12 13:28:22.890 3681-3886/? I/logserver: is_all_ready, any file is ready in non-keyfile exception.
12-12 13:28:22.890 3681-3886/? I/logserver: extract_appname, forward search, appname=
12-12 13:28:22.895 3681-3886/? I/logserver: archive_and_send, pos=0, type=crash, output=20171212132822_crash
12-12 13:28:22.895 3681-3886/? I/logserver: ---copy_match_files enter!!--
12-12 13:28:22.895 3681-3886/? I/logserver: [copy_match_files,841]: copy [/data/system/dropbox/data_app_crash@1513056502894.txt.gz] to [/data/log/logcache/13288456/data_app_crash@1513056502894.txt.gz]
12-12 13:28:22.895 3681-3886/? I/logserver: internal_archive, argc=7
12-12 13:28:22.895 3681-3886/? I/logserver: get_fault_appname, appname=NULL
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception, argc=7
12-12 13:28:22.895 3681-3886/? I/logserver: parse_archive_command: argc = 7
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception: inputNumber = 1
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception: map = 7.
12-12 13:28:22.895 3681-3886/? I/logserver: set_output_postfix: NULL pointer.
12-12 13:28:22.895 3681-3886/? I/logserver: special_handle: NULL pointer.
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception, BASIC_MODE
12-12 13:28:22.895 3681-3886/? I/logserver: remove_last_modify_file, into
12-12 13:28:22.895 3681-3886/? I/logserver: remove_last_modify_file, out
12-12 13:28:22.895 3681-3886/? I/logserver: remove_last_modify_file, into
12-12 13:28:22.895 3681-3886/? I/logserver: remove_last_modify_file, out
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception, pModuleName = null
12-12 13:28:22.895 3681-3886/? I/logserver: pack_files
12-12 13:28:22.895 3681-3886/? I/logserver: pack_files, output_path is /data/log/unzip.
12-12 13:28:22.895 3681-3886/? I/logserver: move_input_files, create dir [/data/log/unzip/MT7-TL00_MT7-TL00C01B357_0000000000_20171212132822_crash]
12-12 13:28:22.895 3649-4451/? I/[Gralloc]: alloc w[360] h[642] format[1] usage[819]
12-12 13:28:22.895 3681-3886/? I/logserver: copy_file_to_dir, /data/log/logcache/13288456/data_app_crash@1513056502894.txt.gz -> /data/log/unzip/MT7-TL00_MT7-TL00C01B357_0000000000_20171212132822_crash
12-12 13:28:22.895 3681-3886/? I/logserver: copy_file_to_dir, /data/log/logcache/13288456/finger.txt -> /data/log/unzip/MT7-TL00_MT7-TL00C01B357_0000000000_20171212132822_crash
12-12 13:28:22.895 3681-3886/? I/logserver: handle_archive_exception, into set notify_type
12-12 13:28:22.895 3681-3886/? I/logserver: get_notify_mode
12-12 13:28:22.895 3681-3886/? I/logserver: get_notify_mode, 1
12-12 13:28:22.895 3681-3886/? I/logserver: init_main_fifo, before change /data/log/logserverConfig/fifo/logserver owner
12-12 13:28:22.895 3681-3886/? I/logserver: Process 3886 opening FIFO for O_WRONLY
12-12 13:28:22.895 3681-3886/? I/logserver: Process 3886 opened fifo(15)
12-12 13:28:22.895 3681-3886/? I/logserver: notify_logcontrol, 3886 sent /data/log/unzip/MT7-TL00_MT7-TL00C01B357_0000000000_20171212132822_crash 
12-12 13:28:22.895 3681-3681/? I/logserver: process_event
12-12 13:28:22.895 3681-3681/? I/logserver: handle_fifo_msg, read res = 460, client pid = 3886, command = send log, data=/data/log/unzip/MT7-TL00_MT7-TL00C01B357_0000000000_20171212132822_crash
longerian commented 6 years ago

RecyclerView是什么版本

liufsd commented 6 years ago

这个是直接run 你们demo的,你可以看下demo里面的配置。之前没有遇到过,可能是新增的bin导致的吧?

longerian commented 6 years ago

我尝试复现一下 ,没碰到过

liufsd commented 6 years ago

好,我明天再试试,这个暂时不影响我接入。因为我们暂时用不到动态下发view.