文档章节

Android性能优化之View.gone

西皇小明
 西皇小明
发布于 2017/07/13 16:39
字数 369
阅读 10
收藏 0

我们经常会遇到这样的情况,运行时动态根据条件来决定显示哪个View或布局。常用的做法是把View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Inflate,也就是说仍然会创建对象,会被实例化,会被设置属性。也就是说,会耗费内存等资源。

推荐的做法是使用android.view.ViewStub,ViewStub是一个轻量级的View,它一个看不见的,不占布局位置,占用资源非常小的控件。可以为ViewStub指定一个布局,在Inflate布局的时候,只有ViewStub会被初始化,然后当ViewStub被设置为可见的时候,或是调用了ViewStub.inflate()的时候,ViewStub所向的布局就会被Inflate和实例化,然后ViewStub的布局属性都会传给它所指向的布局。这样,就可以使用ViewStub来方便的在运行时,要还是不要显示某个布局。



作者:沈醉在夢
链接:http://www.jianshu.com/p/76ecd3b67515
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文转载自:http://www.jianshu.com/p/76ecd3b67515

共有 人打赏支持
西皇小明
粉丝 5
博文 40
码字总数 20601
作品 0
海淀
程序员
私信 提问
android开发_SimpleAdapter适配器

新建项目: 项目结构: drawable-hdpi文件夹中的图片是自己加入的。主要是在菜单选项中显示的图片: 运行效果: 代码部分: main.xml item_menu.xml MainActivity.java package com.b510; i...

Pikachu“
2013/01/02
1K
1
android版的path2.0菜单功能实现

path2.0的动态菜单确实很炫,可是在网上没找的android版本,于是就自己实现了一下。感觉效果还可以,就分享出来让大家一起来改进。最终希望能实现iPhone上那种效果。 见源码: Java代码 1 pa...

android技术开发
2013/07/11
0
0
如何实现可动态调整隐藏header的listview

需求:根据某种需要,可能需要动态调整listview的页眉页脚,譬如将header作为显示板使用。 难点:listView.addHeaderView()方法必须在setAdapter()方法前调用,否则就会抛异常。至于为什么会...

今晚打猴子
2015/08/25
0
0
Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

其在XML文件和Java代码中设置如下: 可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisibility(View.VISIBLE); 不可见(invisible) XML文件:android:visibilit...

____追梦人
2015/06/05
0
0
webView中js调用android方法一调用程序就退出是怎么回事

webView中js调用android方法一调用程序就退出是怎么回事 webView.addJavascriptInterface(new Object(){ public void showToast(String name){ Toast.makeText(SujieEasyActivity.this, name......

wangwenya
2013/07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享

作者:闲鱼技术-宗心 12月4日,google flutter团队宣布第一个flutter正式版本发布。次日,Flutter Live Beijing 会议上,google flutter团队邀请了在这一技术方案中重要的合作伙伴闲鱼团队分...

阿里云官方博客
13分钟前
1
0
RxJava window操作符

原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%204%20-%20Concurrency/3.%20Sequences%20of%20coincidence.md Sequences of coincidence Rx试图避免管道(pipeline)外......

woshixin
20分钟前
1
0
05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》

本期视频实现了博客的详情页面; 内容简介:使用了标签函数layout完成详情功能 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK #标签函数 layo...

Gavin-King
21分钟前
1
0
谷歌浏览器的打印功能

var OpenWindow = window.open(""); OpenWindow.document.write("<HTML>"); OpenWindow.document.write("<HEAD>"); OpenWindow.document.write("<meta http-equiv=......

卖星星的小矮人
21分钟前
1
0
曼哈顿距离(Manhattan Distance )详解

概念 曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南...

hejunbinlan
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部