Android性能优化——Layout的优化

Android开发一般使用xml文件进行布局,在Activity的onCreate方法中调用setContentView(layoutId),实现页面的绘制,如果Layout文件布置不合理就会可能造成加载缓慢和过度绘制。
加载缓慢是因为布局嵌套太多,层级太深,导致xml文件解析速度过慢。如果容器选用不当,会导致多次计算子控件的位置而耗费时间。那如何解决以上问题呢?
1、Android为我们提供了四个标签来优化布局:merge、 include、ViewStub、 requestFocus。
2、合理利用LinearLayout、RelativeLayout、FrameLayout以及最新推出的PercentRelativeLayout不但可以减少嵌套,还可以解决适配问题。
merge:解决布局嵌套问题
include: 引入布局文件,可以使xml文件复用,使用不当会造成嵌套,但与merge配合可以消除该不利条件
ViewStub:与include类似,也是引入布局文件,但不会立即实例化,因此不占用空间,当执行ViewStub.inflate()时,才会将引入的布局实例化,这样就可以在需要显示该布局是再实例化。ViewStub只能inflate()一次,之后ViewStub对象会被置为空,若需再次改变其显示状态,则需要利用setVisiblity();
requestFocus:指定屏幕内的焦点View,View有时需要添加(android:focusable=”true”;android:focusableInTouchMode=”true”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android的Widget是指可以被放置在桌面或者其他应用中的小部件,比如常见的时钟、天气、日历等等。在Android中,Widget的布局可以使用XML文件来进行定义,与普通的布局定义类似,可以使用各种属性来设置Widget的样式和行为。 在Widget的XML布局文件中,可以使用View类中定义的许多属性来控制Widget的样式和行为,比如: 1. android:id:设置Widget的ID,可以在代码中通过findViewById()方法来获取对应的View对象。 2. android:layout_width、android:layout_height:设置Widget的宽度和高度,可以使用具体数值或者match_parent、wrap_content等特殊值。 3. android:layout_gravity:设置Widget在父布局中的对齐方式,比如center、left、right等等。 4. android:padding、android:paddingLeft、android:paddingRight等:设置Widget的内边距,用于控制Widget内部内容的显示位置。 5. android:background:设置Widget的背景颜色或者背景图片。 6. android:clickable、android:longClickable:设置Widget是否可以被点击或者长按。 7. android:focusable、android:focusableInTouchMode:设置Widget是否可以获取焦点,用于控制Widget是否可以响应键盘事件等。 8. android:visibility:设置Widget是否可见,可以使用值为visible、invisible、gone。 除了以上列出的属性之外,还有许多其他的属性可以用于控制Widget的样式和行为,具体可以查看Android官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值