安卓性能优化

Android的性能优化方法

1. 布局优化

  • 使用<include>标签、<merge>标签、
  • <ViewStub>控件
  • 复杂布局使用<RelativeLayout>,避免使用<LinearLayout>过多的布局嵌套

2.绘制优化

  • onDraw()方法中不执行大量耗时操作

3.内存泄漏优化

  • 静态变量导致的内存泄漏
  • 单例模式导致的内存泄漏
  • 属性动画导致的内存泄漏

4.响应速度优化和ANR日志分析

5.ListView、GridView和Bitmap优化

  • 不在getView()中执行耗时操作,使用ViewHoler来重用View,可考虑开启硬件加速使滑动更加流畅
  • Bitmap使用Bitmap.Factory.Options来对图片进行大小、采样处理

6.线程优化

  • 使用线程池来避免开启过多的线程造成抢夺资源导致线程阻塞

7.一些小技巧

  • 不要创建过多的对象
  • 不要过多使用枚举
  • 常量使用static final来修饰
  • 适当使用软引用或弱引用
  • 采用内存缓存和磁盘缓存
  • 尽量采用静态内部类,这样可以避免潜在的由于内部类而导致的内存泄漏

内存泄漏分析之MAT工具

提高程序的可维护性

  • 命名要规范,要能正确的表达处变量或方法的含义,少用缩写。
  • 代码的排版上需要留出合理的空白来区分不同的代码块,其中同类变量的声明要放一组,两类变量之间要留出一行空白来区分。
  • 仅为非常关键的代码添加注释
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Overdraw(过度绘制)描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次的UI结构里面,如果不可...
    gogoingmonkey阅读 909评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,678评论 25 708
  • 软件性能优化是一个很大的概念。首先从自带的一些工具开始,利用工具来协助我们对性能做优化。解决系统性能问题的几个主要...
    gogoingmonkey阅读 1,202评论 0 6
  • 性能优化是我们做开发的必须要熟练掌握的技能,所以我打算写一个性能优化专题,把平时用到的一些优化方法记录下来,以便忘...
    lin_林阅读 1,341评论 3 12
  • 如梦,如梦 残月落花愁浓重 如梦,如梦 襟泪出门相送 曾言月下相共 穿透几生几世 如梦,如梦 不是求不得,而是不能...
    栩辰徉阅读 277评论 5 6