I have a simple test application which has a social media-like layout:

It consists of an outer recycler view for posts and nested RV for comments (with indentation on the screenshot).
The issue: Mostly in debug mode, there's a considerable jank only when the initial scroll happens (probably some initialization stuff of RVs). Further scrolling is smooth both in debug and release. In release, it happens mostly after usage of some intensive apps, e.g. watching videos on Facebook app. And the jank is less noticeable if it happens in release. Systrace when the initial scroll happens
Setup details
Phone - Nexus 5X with Android 8.1, compileSdkVersion - 28, minSdkVersion - 16, targetSdkVersion - 28
The relevant pieces of code are as follows:
The outer RV's adapter - here I'm using the posts data with their comments and also the nested RV pool so that nested RVs can take advantage of that. The view holder just stores some references to different controls in the view. onCreateViewHolder is the place where I tried some optimizations, including pre-creating 10 view holders (the current code). I've set setHasFixedSize to true, but that didn't help. The layout manager for the RV is LinearLayoutManager without any customization.
if (viewHolders.size == 0) {
//Log.w("msg", "creating all view holders")
for (i in 1..10) {
val v = LayoutInflater.from(parent.context)
.inflate(R.layout.wallpost_view, parent, false) as LinearLayout
val viewHolder = MyViewHolder(v, context, nestedViewsPool)
viewHolders.push(viewHolder)
}
}
The inner RV's adapter - nothing special here as it currently doesn't contain any custom events.
Outer RV item's view - Yes, it uses nested layouts, but I didn't see any performance difference when coverting it to ConstraintLayout, CL version here.
Inner RV item's view - Nothing special here, looks similar to the outer item's view, but without buttons and links. CL version here
What can cause the jank? It's been there (in debug) since I initialy tested even with simplified views and code.