学习安卓-第二周-代码优化

1. 代码优化
(1)定义变量要时刻注意作用域。如果一个变量只在一个方法中使用,那就不需要设为全局变量,设为方法内的局部变量即可。
(2)代码简洁。
1,首先就是不创建无用的变量,例如View view=binding.getroot();return view; 如果这里view使用很少,甚至只有一次,那就没有创建的意义,浪费资源。直接return binding.getroot();。
2,删除废代码(注释了的代码,多余的注释),使得代码美观
3,变量命名规范,驼峰命名法,且名称不宜过长
4,!!!代码格式化,缩进需要规范。ctrl+alt+l 快捷键
2,bug解决
(1)ViewStub的视图绑定与显示

ViseStub viewStub = binding.viewStub.inflate();
        viewStubBinding=CodeBinding.bind(viewstub);//这样,子布局的binding就可以用了
       viewstub.setVisibility(View.VISIBLE);//源码中就是该句漏写,即使绑定,需要自己定义GONE or VISVLE

(2)销毁地图时,fragmnet与activity生命周期不同导致空指针。
主要问题是 在fragment的destoryview中 binding=null;但在destory方法中,
出现了if(binding.map!=null)
binding.map.destory;
修改为
if(binding!=null)
binding.map.destory;.destory;

(3).constraint.ConstraintLayout布局的百分比布局要点
1,因为锚点没有设置完整,导致整个布局重新计算会,导致卡帧.所以锚点必须设置完整(不是四个方向锚点都要设置,而是锚点设置后,控件位置能够确定)。
2,在约束布局中,wrap_content与0dp的区别:
wrap_content:以内容的长度为准,一些比例属性会失效。
0dp:以控件的长度为准。将layout_width或者layout_height设为0dp,让子View没有长度。这样便可以随着父View进入拉伸了,有多个子控件,那就设置weight,来占比
额外:match_parent:不再赘述
百分比布局:能够做到简单的适配(大小随屏幕大小变化而变化)

layout_constraintVertical_bias:垂直乖离率(bias有道翻译为乖离率),也就是垂直偏移率。
layout_constraintHorizontal_bias:水平乖离率(bias有道翻译为乖离率),也就是水平偏移率。
layout_constraintHeight_percent:高度百分比,占父类高度的百分比
layout_constraintWidth_percent:宽度百分比,占父类宽度的百分比

参考:

https://blog.csdn.net/fy993912_chris/article/details/81909010

个人认为,ui设计中,控件宽度和高度尽量使用上述四种来实现,大小不能写死,对适配不利。即使是constraint布局的锚点,也尽量使用偏离率,而不是具体数值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值