根据以往经验和HarmonyOS的接口文档,我想了两种可能的实现:
方案A:利用scroll容器做滑动,给scroll加一个由image图片组件形成的list组件,设置list的宽高以确保性能,确保仅加载可见区域的缩略图
方案B:利用scroll容器做滑动,给scroll加一个canvas组件(canvas组件宽度很长才能滑动),在canvas上调用drawImage方法循环绘制图片(把每个图片绘制到canvas的不同位置上去)且仅在canvas的可见区域绘制图片
请问以上方法是否可行?哪个更高效?
方案A中该如何设置list的宽高来保证仅加载可见区域的缩略图?
方案B中如何确定canvas的可见区域的范围?
不建议方案B,可能会有性能问题。如果想用canvas,建议使用renderNode+drawing的方式:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-graphics-drawing-V5\#drawimage
可以直接用list组件,listItem就是Image,外层不需要scroll,listItem滑出可见区域后会下树