Android性能优化---笔记

作者: Kevin_Curry | 来源:发表于2016-03-16 21:57 被阅读302次

    1-布局优化

    尽量减少布局的层级

    删除布局中的无用控件和层级 使用性能较低的ViewGroup、

    <include>,<merge>标签

    ViewStub提供按需加载功能;

    2-绘制优化

    onDraw 方法避免大量的操作

    3-内存泄漏优化

    避免写内存泄漏的代码,使用内存分析工具找出潜在的内存泄漏继而解决;

    1.静态变量导致的内存泄漏

    2.单例模式导致的内存泄漏

    3.属性动画导致的内存泄漏

    4-响应速度优化

    核心思想避免在主线程中做耗时的操作

    发送ANR异常后 系统会在/data/anr目录下创建一个traces.txt文件 分析文件找出原因;

    5-ListView的优化

    1.采用ViewHolder避免在getView方法中执行耗时的操作;

    2.根据列表的滑动状态来控制任务的执行频率;

    3.开启硬件加速

    6-Bitmap的优化

    BitmapFactory.Options对图片进行采样;

    7-线程优化

    采用线程池避免程序中有大量的Thread

    8-其他优化方式

    避免创建过多的对象;

    不要过多的使用枚举;

    常量使用 static final 修饰;

    采用双缓存机制

    适当使用软引用 弱引用

    尽量采用静态内部类

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    一、减少Reduce

    差异化对待缓存容量

    差异化对待图片资源

    资源按需加载

    减少bitmap对象的内存占用

    inSampleSize

    decodeformat (ARGB_8888,ARGB,ARGB_4444,A_LPHA_8);

    二、重用Reuse

    Bitmap对象的复用inBitmap

    ListView,GridView中convertView的复用

    避免频繁的创建和回收对象

    三、回收利用再循环。Recycle

    Activity泄漏内部类static,singleton,

    容器对象的泄漏

    选择适合的context,

    注意生命周期内对象的注销。

    大胖子bitmap对象的回收

    大胖子webview对象的回收

    大胖子cursor对象的回收

    onTrimMemory

    onLowMemory

    四、重构Refactor

    使用优化过的数据结构

    减少内存的碎片化

    优化布局减少内存消耗

    ---------

    相关文章

      网友评论

      本文标题:Android性能优化---笔记

      本文链接:https://www.haomeiwen.com/subject/uaaqlttx.html