屏幕外的工程视图如何影响Android的性能?

屏幕外的工程视图如何影响Android的性能?,android,performance,webview,Android,Performance,Webview,我正在尝试为多个网络视图创建某种水平幻灯片。滑块中可以有很多视图,但最多只能显示三个(一个在中间,另外两个部分隐藏在屏幕之外) 在我早期的实现中,我基于RelativeLayout创建了一个自定义视图组。我添加了所需的所有网络视图,并在onLayout中调用将显示的三个网络视图的layout方法。我通过滚动切换显示的网络视图 所以我的问题是:安卓如何处理未显示的内容?是否调用了他们的draw方法?有很多视图没有像那样显示会影响性能吗 作为一个附带的问题,即使在屏幕之外,网络视图也会加载其内容吗?

我正在尝试为多个网络视图创建某种水平幻灯片。滑块中可以有很多视图,但最多只能显示三个(一个在中间,另外两个部分隐藏在屏幕之外)

在我早期的实现中,我基于
RelativeLayout
创建了一个自定义视图组。我添加了所需的所有网络视图,并在
onLayout
中调用将显示的三个网络视图的
layout
方法。我通过滚动切换显示的网络视图

所以我的问题是:安卓如何处理未显示的内容?是否调用了他们的
draw
方法?有很多视图没有像那样显示会影响性能吗


作为一个附带的问题,即使在屏幕之外,网络视图也会加载其内容吗?或者需要绘制它们吗?

是的,在您描述的情况下,它们将被绘制,即使没有显示

在这种情况下,最好使用ViewPager

默认情况下,Viewpagers仅绘制显示的内容以及内容左/右的页面(如果需要,可以更改为全部绘制)

回答你的问题:

是的,调用了draw方法。这就是所谓的屏幕外。该视图完全存在,并且可以进入视图。这就是为什么滚动视图中的元素总是存在的原因

这就是ListView/recyclerviews/viewpagers存在的原因。屏幕外元素由父视图组自动处理以节省内存

第二个问题,是的,即使在屏幕外加载,网络视图也会加载其内容