2019日更挑战(二)|2019日更挑战(二),android-聊聊写布局(二)
瞎扯
第二天,继续
接上篇,上篇主要简单聊了下分析布局
今天还是差不多,优化布局.
优化布局:
就说说我知道的一些,欢迎补充
1.减少嵌套
这点上篇就讲过了,
再提是因为这个的重要性吧,
安卓的嵌套大致两种.
- 列表嵌套 这种呢.首先要相信一点.同向的情况下,90%的列表设计都是可以一个RecyclerView搞定的.
如果非要嵌套呢.那么嵌套RecyclerView
的adapter
,一定要注意缓存,不要每次
onBindViewHolder的时候都去重新创建一次,
纵向套横向其实算不上嵌套.
当然,还有事件冲突,所以,不到万不得已,不要去嵌套,该怼的设计就得怼.
- 容器嵌套. 还是上篇提到的,
LinearLayout,RelativeLayout
等等疯狂嵌套.
然后页面渲染卡的一笔,然后被人吐槽,安卓卡死.
【2019日更挑战(二)|2019日更挑战(二),android-聊聊写布局(二)】好在现在出了约束布局CoordinatorLayout
,虽然我也不大用,因为用不上.不过是优化布局的神器.
性能上比RelativeLayout
更好.还能做一些RelativeLayout
不好做的事.
最重要的是它对屏幕的适配性.
我见过很多,现在还喜欢用.9图做背景.真的是不推荐
优化的地方:
(1).不要重复设置背景: 这是常常会被忽略的一件事情.经常会等到做布局优化的时候才会去改.
比如一个列表页面:
文章图片
image.png
然后列表条目的布局:
这种写法我是见过的..
然后打开查看过度绘制,整个页面都是红的. 这里一共重复了4次背景.
- 第一层,window背景
- 第二层.RelativeLayout背景
- 第三层.ReyclerView背景
- 第四层.TextView背景
去掉window背景
- @android:color/transparent
(2).尽量不要用图片做控件背景. 除了启动页.和部分标签性的背景,还有什么地方是值得用图片做背景的
如果只是为了一个边线,
文章图片
image.png
文章图片
image.png
文章图片
这些,只是一个shape就解决了.
我基本很少找UI切背景.只有icon会找UI, .9已经1年多没用过了吧.
如果允许,最好使用
svg
来作为icon和背景.一.节省app大小,
二.不会失真.如果是图片做背景.失真是很的难看.
三.节省内存.图片可是很占内存的.
总结就是能用shape的或者canvas画的,绝不用图片,搞不定也最好用svg来搞. (3)ViewStub merge 这两个东西,优化上来说,是很常用的
- ViewStub
相当于一个占位符.必须调用了inflate 和setvisible,设置想要的渲染的布局layoutId.才会被渲染.合理运用.可以优化页面启动速度.
- merge
这个必须用在xml文件的根级,.
文章图片
image.png
交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.
推荐阅读
- 《跨界歌手》:亲情永远比爱情更有泪点
- 【译】20个更有效地使用谷歌搜索的技巧
- 从蓦然回首到花开在眼前,都是为了更好的明天。
- 六月更新的......
- 研学让生活更美好
- 如何更好的去学习
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())
- 20210307《挑战赛怂人胆》【能量将帅挑战赛(01)】
- 杀死一只知更鸟
- 日更小小记