优化技术之Android UI优化】的更多相关文章

2013-06-30 UI 优化 在Android中,最常用LinearLayout表示UI的布局.比起LinearLayout,在资源利用上,RelativeLayout会占用更少的资源而达到相同的效果.针对RelativeLayout有一点需要注意,因为它内部是通过多个View之间的关系而确定的布局,那么当其中某一个View因为某些需要调用GONE来完全隐藏掉后,会影响与其关联的Views,属性alignWithParentIfMissing用于解决类似问题. 简单或复杂的问题都需要时常考虑…
阅读目录 0)Render Performance 1)Understanding Overdraw 2)Understanding VSYNC 3)Tool:Profile GPU Rendering 4)Why 60fps? 5)Android, UI and the GPU 6)Invalidations, Layouts, and Performance 7)Overdraw, Cliprect, QuickReject 8)Memory Churn and performance 9)…
在布局优化中,Androi的官方提到了这三种布局<include />.<merge />.<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记. 1.布局重用<include /> <include />标签能够重用布局文件,简单的使用如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/re…
使用<include /> 标签来重用layout代码 如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在Android开发文档中没有相关的介绍.在android主屏程序中 用到了这个标签: <com.android.launcher.Workspace  android:id="@+id/workspace"  android:layout_width="fill_parent"…
之前项目为了同时兼容tv和手机端的UI,使用了百分比布局来动态计算控件的宽高,这种适配方案只关心屏幕的宽高(分辨率),与屏幕的像素密度无关. 在新的项目里也使用了这种方案.但是由于项目的运行硬件计算能力较差,单个界面的布局又比较复杂,在加载布局的时候,LayoutInflator的任务过重, 而LayoutInflator又是阻塞主线程的,所以会导致UI加载慢,甚至UI卡顿. LayoutInflator通过反射把xml布局文件创建为具体的view对象,而反射的效率比直接new对象要慢3倍.设备…
先说些题外话,希望路过的各位支持,博主有幸成为2013年度博客之星的候选人,期待你的一票,谢谢. 投票猛击: http://vote.blog.csdn.net/blogstaritem/blogstar2013/xyz_lmn 进入正题,我们这一篇文章会提到为什么使用HierarchyViewer,怎么使用HierarchyViewer,后者内容会多一下. 为什么使用HierarchyViewer 不合理的布局会使我们的应用程序UI性能变慢,HierarchyViewer能够 *  我的新浪微…
Keeping Your App Responsive In this document What Triggers ANR? How to Avoid ANRs Reinforcing Responsiveness Figure 1. An ANR dialog displayed to the user. It's possible to write code that wins every performance test in the world, but still feels slu…
基于Android平台的设备一定是嵌入式设备. 两个原则判断一个系统是否合理:不要做不必要做的事情:尽可能地节省内存的使用. 1. 尽量避免创建对象Object 2. 使用自身方法 3. 使用虚拟优于使用接口 4. 使用静态优于使用虚拟 5. 尽可能避免使用内在的Get/Set方法 6. 缓冲属性调用 7. 声明Final常量 8. 慎重使用增强型For循环语句 9. 避免列举类型 10. 通过内联类使用包空间 11. 避免浮点类型的使用 12. 一些标准操作的时间比较…
一.Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名.静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开 4.layout中的id命名 命名模式为:view缩写_模块名称_view的逻辑名称 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:im Bu…
Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的缩放,缓存,重用,PNG压缩,自定义View的性能,提升设置alpha之后View的渲染性能,以及Lint,StictMode等等工具的使用技巧. 下面是对这些课程的总结摘要,认知有限,理解偏差的地方请多多指教! 1)Battery Drain and Networking 对于手机程序,网络操作相…