优化 View layout = getView().findViewById(R.id.but); layout.setVisibility(View.GONE);
时间: 2024-05-05 07:21:40 浏览: 88
安卓开发-ListView多级展示,item由对象Leaf提供数据,可设置多个控件.zip.zip
在 Android 中,频繁使用 `findViewById` 可能会导致性能问题,因为每次调用该方法都会遍历整个视图层次结构,这可能会导致应用变得缓慢。
为了优化这个问题,可以将 `findViewById` 的结果存储在变量中,在需要时直接使用该变量,而不是每次调用 `findViewById`。另外,如果你有一组视图需要同时被隐藏,可以将它们放在一个容器视图中,并调用容器视图的 `setVisibility` 方法。这样就不需要逐个隐藏每个视图。
下面是优化后的代码示例:
```
// 在 onCreate 或 onBindView 方法中获取视图
Button button = findViewById(R.id.but);
// 在需要隐藏视图的地方直接使用变量
button.setVisibility(View.GONE);
```
或者,如果你有一组视图需要同时被隐藏,可以将它们放在一个容器视图中:
```
// 在 onCreate 或 onBindView 方法中获取容器视图
ViewGroup container = findViewById(R.id.container);
// 在需要隐藏视图的地方调用容器视图的 setVisibility 方法
container.setVisibility(View.GONE);
```
阅读全文