Android UI最佳实践

原创 2015年11月19日 10:28:57

   

        Android 的UI也是安卓性能优化的重要一部分,首先每个APP的UI布局的都是有统一风格的,所以我们在开始开发前可以设定一些设计规范,比如字体大小和颜色,布局间距,还有Style.xml的使用可以把一些共用的设计风格抽象出来,以便以后使用,除此之外,下面记录下一些平时UI优化的点:

     

     (1) include标签的使用:将在多个布局中会用到的部分抽离出来放在一个xml文件中。然后使用include标签来导入这个布局, 抽离出来的布局文件的根节点布局就是你希望它导入其他布局文件之后出现在那个位置的布局,则可以用merge标签作为根节点, 因为抽出的布局的属性也使用于插入的布局,所以用merge会少一个图层布局。

    (2) merge标签的使用:如果根布局是FrameLayout的话,可以用merge标签,因为activity的父View也是个FrameLayout,这样就可省一层布局了

   (3)ViewStub标签的使用:有些布局内容(如进度条指示器,某个按钮点击后才会出现的额外内容等)并不需要一开始就显示在界面上,一般在开发中会将其可见性设置为invisible或者gone,在需要时候再设置为visible。虽然一开始这些内容以及没显示在界面上了,但实际上在界面初始化的时候,这些内容还是会被加载的。对于这种状况,使用ViewStub标签再适合不过了。

   (4) 使用合适的Drawable:一个包含了ImageView和TextView的LinearLayout,用一个复合的Drawable的drawableLeft等属性来替代将会更加高效。

   (5) 移除无用的叶节点:如果一个布局没有子布局、没有子控件,也没有设置背景,那么这个布局将会是不可见的,因此也是可以移除的;移除无用的父节点:如果一个布局(1)不是ScrollView、(2)不是根节点、(3)只有一个子节点、(4)没有设置背景,那么它的子节点可以直接提取到这个父节点的层级上,代替父节点,以便得到一个更加扁平和高效的布局结构。

   (6)层级过多的布局:层级过多将导致糟糕的性能。尽可能的使用RelativeLayout,灵活使用布局属性,让布局的层次减少。

   (7)避免过渡绘制,如果父控件的颜色和子控件的颜色一样,那子控件就不必设置颜色了,否则会过度渲染,消耗性能。

Android UI自动化测试最佳实践

一. 概述 Android系统测试和Web的测试类似,有两类自动化的方式:录制回放与基于页面元素操作的手工开发。由于录制回放在长期维护与代码重用方面存在问题,这里主要的方式还是后者,这也是Web U...
  • chen517611641
  • chen517611641
  • 2015年06月12日 10:45
  • 633

Android性能最佳实践

最近看了谷歌官方关于Android性能最佳实践的部分,感觉应该要记下来才行。这里面有很多不看不知道的东西,我也为一些比较难懂的点增加了一些额外阅读的链接。刚总结完了JNI的小贴士,往后几天会陆续在这篇...
  • heisejiuhuche
  • heisejiuhuche
  • 2017年06月13日 20:04
  • 612

Android最佳实践之UI

为多屏设计(一) - 支持多个屏幕尺寸 参考地址:http://developer.android.com/training/multiscreen/index.html Android UI设计...
  • ada_dengpan
  • ada_dengpan
  • 2016年06月03日 10:15
  • 6002

Android UI 设计最佳实践

Android的官方开发者博客发了一份幻灯片,介绍了一些Android UI设计的小贴士。 Don’t: 1.不要照搬你在其它平台的UI设计,应该让用户感觉是在真正使用一个 Android...
  • xieqibao
  • xieqibao
  • 2011年10月25日 10:41
  • 3245

Android 开发最佳实践 android-best-practices

从Futurice公司Android开发者中学到的经验。遵循以下准则,避免重复发明轮子。若您对开发iOS或Windows Phone 有兴趣,请看iOS Good Practices 和 Win...
  • l979571869
  • l979571869
  • 2016年08月23日 09:55
  • 494

基于 docker 的 UI 自动化测试实践

最近这段时间对内部的一个配置平台实现了UI自动化,过程中经常上testerhome寻找一些灵感和帮助,最后用到的一些技术比如 docker、behave、phantomjs等等目前论坛上的资料相对较少...
  • chenlei_525
  • chenlei_525
  • 2016年06月20日 13:01
  • 385

MVP模式在Android开发中的最佳实践

这篇文章拖了好久了,一直存在草稿箱里没有继续写,趁几天有空,撸撸完。回想一下,你刚刚学习Android的时候,总会看到一些书上写着,Android使用的是MVC模式,Activity就是一个Contr...
  • sbsujjbcy
  • sbsujjbcy
  • 2016年02月21日 13:47
  • 5238

Android最佳实践之UI篇(20条UI最佳实践建议)

http://www.apkbus.com/home.php?mod=space&do=blog&uid=611401&id=58588
  • afanyusong
  • afanyusong
  • 2015年04月05日 20:06
  • 234

京东自动化测试最佳实践

  • zouhui1003it
  • zouhui1003it
  • 2017年06月21日 23:04
  • 319

Android最佳实践之后台任务

Android的四大组件都是运行在UI(主)线程的。Service组件没有界面,也是运行在主线程中的,如果在Service中运行耗时操作,我们一般采用新建子线程的方式。其实Android Framew...
  • ada_dengpan
  • ada_dengpan
  • 2017年08月29日 14:15
  • 458
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android UI最佳实践
举报原因:
原因补充:

(最多只允许输入30个字)