I came up with the idea of creating a universal custom layout for ListView. After selecting Custom Layout, the ListView transforms into a container into which we can move h/v arrangements and views such as Button, Label, CheckBox, Switch, TextBox, Slider, and Image. We can customize the appearance, color, and alignment of views.
I saw that someone recently implemented a fix for ListView image caching. But I haven't tested it. Other layouts take advantage of this, so I might do the same for this layout.
Yes, I see that the fix uses the android.util.LruCache class to tag loaded images. But it's not yet implemented in the working version of AppInventor. I can also make it so that if you set the image to a size of, for example, 200x200, the loaded image will be reduced to these dimensions.
I am seeing huge performance improvements elsewhere with custom listviews or recycler views, or dynamic components when using async, but the native listview is laggy without it.