Android 性能优化学习笔记

           1. 布局优化

                  A. <include/>标签的使用   

                  B. <ViewStub>实现view的延迟加载

                         View inflateView = mViewStub.inflate();

                         TextView text = (TextView)inflateView.findViewbyId(R.id.tv_text);

                  C. 常用的检查工具(开发者选项中, sdk tools hierarchyviewer.bat )

           2. 内存优化

                  A. 使用适当分辨率和大小的图片(屏幕适配利用)

                  B. bitmap及时recycle(File,Cursor,Receiver,Sensor等也需要及时回收)

                  C. LruCache和DiskLruCache的使用

                  D. 代码优化

                          变量使用适当的修饰符

                          尽量不使用枚举,少用迭代器

                          使用RenderScript,OpenGL来进行复杂的绘图操作

                   E. 常用的检测工具(Lint, Memeory Monitor,TraceView,Emmagee,leakcanary)

                           TraceView分为:显示方法执行的时间的时间轴区域和显示详细信息的profile区域。 incl CPU time某方法占用CPU时间, Calls+RecurCalls调用次数加递归回调的时间,如果占用时间长且Calls+RecurCalls次数少,说明存在问题


               ##更新总结

                    _**UI性能分析**

                    _**内存性能优化**

                 

               UI卡顿原因

                     1. UI线程做耗时操作,ANR

                     2. 布局太过复杂,overdraw严重

                     

                UI卡顿相关分析解决办法

                      1. 使用HierarchyViewer,  和手机中GPU过度绘制查看相应布局

                      2. 用AS Lint工具优化布局代码

                      3. 使用traceview和systrace 分析内存消耗和耗用时间

                    

                内存性能优化

                        1. 布局优化:多使用include,merge,viewstub, 多使用style.xm,string.xml等资源共用

                        2.内存优化:

                            A:使用比较好的新的框架替换老框架(如请求框架,数据解析,图片加载框架等),使用新控件替换老控件(如recyclerview)

                            B:代码优化(注意定规范):尽量高聚低耦, 不要乱声明变量,注意使用DB,Stream,Bitmap等注意关闭或释放,

                                使用Stringbuffer,少用循环套循环,多用多线程等等,  可以使用Lint分析,注意这些细节在于慢慢积累。

                            C: 电量优化监听当前电量状态和是否充电中,合理的利用这些状态执行或避免耗电操作。

                        

                  详细优化请点击

                   

                          

                          

                         

                  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值