CodeView-Android
CodeView-Android copied to clipboard
Fix recyclerview fill all items
Pass MeasureSpec.UNSPECIFIED mode to child RecyclerView for providing a virtual 'infinite' vertical space will cause LinearLayoutManager try to 'fill' remaining space using ALL items in adapter, which may let main thread running measures for a long time. Just provide an 'infinite' horizontal space for long-line code is enough, then layout manager and touch event handle methods in RecyclerView can handle vertical scrolling perfectly. Can also fix missing velocity in code panel.
Flame chart showing such issue:
Screen records (Xiaomi MIX2S, Qualcomm 845, should not appear a loading holder for just a 370+ lines log file.):