• Android应用程序性能优化

    发布:51Code 时间: 2017-05-31 13:21

  • 应用程序的性能问题体现在很多方面, 比如第一次启动速度慢,或者进入某一界面速度慢;动画执行过程不流畅,或者动画执行卡顿时间长;ListView列表滑动过程中卡顿,不流畅;应用...

  • 应用程序的性能问题体现在很多方面, 比如第一次启动速度慢,或者进入某一界面速度慢;动画执行过程不流畅,或者动画执行卡顿时间长;ListView列表滑动过程中卡顿,不流畅;应用程序自定义的某特定界面执行速度慢;响应某一用户事件时长时间无响应(ANR);操作数据库时,执行大量数据的增删改查操作,执行速度慢;文件读写频繁,缓存文件过大导致卡顿;应用长时间运行后,随机出现卡顿现象。

        一方面,编程思想。

           1.      了解编程语言的编译原理,使用高效编码方式从语法上提高程序性能; 

           2.      采用合理的数据结构和算法提高程序性能,这往往是决定程序性能的关键; 

           3.      重视界面布局优化; 

           4.      采用多线程、缓存数据、延迟加载、提前加载等手段,解决严重的性能瓶颈; 

           5.      合理配置虚拟机堆内存使用上限和使用率,减少垃圾回收频率; 

           6.      合理使用native代码; 

           7.      合理配置数据库缓存类型和优化SQL语句加快读取速度,使用事务加快写入速度; 

           8.      使用工具分析性能问题,找出性能瓶颈;

        另一方面,编程技巧。

           1.      避免创建不必要的对象 

           2.      合理使用static成员 

           3.      避免内部的Getters/Setters 

           4.      使用增强for循环 

           5.      使用package代替private以便私有内部类高效访问外部类成员

           6.      合理使用浮点类型 

           7.      采用<merge>优化布局层数。 采用<include来共享布局。

           8.      延时加载View. 采用ViewStub 避免一些不经常的视图长期被引用,占用内存.

           9.      移除Activity默认背景,提升activity加载速度。

           10.   cursor 的使用。

           11.   广播BroadCast动态注册时,记得要在调用者生命周期结束时unregisterReceiver,防止内存泄漏。

           12.   针对ListView的性能优化

           13.   注意使用线程的同步机制(synchronized),防止多个线程同时访问一个对象时发生异常。

           14.   合理使用StringBuffer,StringBuilder,String 

           15.   尽量使用局部变量

           16.   I/O流操作记得及时关闭流对象。

           17.   使用IntentService代替Service

           18.   使用Application Context代替Activity中的Context 

           19.   集合中的对象要及时清理 

           20.   Bitmap的使用

           21.   巧妙的运用软引用(SoftRefrence)

           22.   尽量不要使用整张的大图作为资源文件,尽量使用9path图片

           23.   了解并使用库函数 

  • 上一篇:站在源码的角度全解Scroller工作机制(二)

    下一篇:站在源码的角度全解Scroller工作机制(三)

网站导航
Copyright(C)51Code软件开发网 2003-2018 , 沪ICP备16012939号-1