1.性能优化初步修改
总结 参照http://www.jianshu.com/p/be05874965d4
1. handler 尽量使用弱引用 同时判断当前引用的activity是否已经处于销毁状态
http://www.jianshu.com/p/c0c67c2a0532
2. length size 在循环时不在第二个里面写
3. String拼字段时尽量使用 StringBuilder
a) StringBuilder builder = new StringBuilder();
builder.append("").append("");
4. String 字段在Strings.xml文件中写
5. 内存方面的话 现在尽可能的
a) 图片drawable避免直接在xml中写
b) Xml中的drawable 规范写入 尽可能让使用者从xml名称中知道当前xml所表示含义
c) 控件加载大图片 通过获取控件的大小动态加载图片,但要注意的是需要判断图片本身宽高是否与控件宽高
6. xml布局 尽可能 FrameLayout>LinearLayout>RelativeLayout 主要原因是
a) RelativeLayout布局绘制onMeasure绘制时间大于LinearLayout的
b) 在LinearLayout 没有weight属性 onMeasure绘制一次 有Weight 属性onMeasure需要跟RelativeLayout绘制两次 但绘制时间测试优于LinearLayout;
c) 如果要用RelativeLayout布局的话 尽量使用padding代替margin;
d) FrameLayout与LinearLayout进行比较的时候 ,在使用嵌套布局时,因为LinearLayout嵌套 onMeasure需要多次循环 LinearLayout 绘制的时间大于FrameLayout;
e) 能用两层LinearLayout,尽量用一个RelativeLayout,在时间上此时RelativeLayout耗时更小。另外LinearLayout慎用layout_weight,也将会增加一倍耗时操作。由于使用LinearLayout的layout_weight,大多数时间是不一样的,这会降低测量的速度。这只是一个如何合理使用Layout的案例,必要的时候,你要小心考虑是否用layout weight。总之减少层级结构,才是王道,让onMeasure做延迟加载,用viewStub,include等一些技巧
http://blog.csdn.net/hejjunlin/article/details/51159419
FrameLayou和布局优化
http://android.blog.51cto.com/268543/308090/