Android性能优化之运算篇
作者:网络转载 发布时间:[ 2015/9/17 11:15:20 ] 推荐标签:移动测试 性能测试
在上面的那种写法下,如果数据的量级并不大的话,应该还可以接受,可是如果数据集非常大,会有严重的效率问题。那么我们看下改进的写法,把排序的操作打包绑定只执行一次:
上面是Batching的一种示例:把重复的操作拎出来,打包只执行一次。
Caching的理念很容易理解,在很多方面都有体现,下面举一个for循环的例子:
上面这2种基础技巧非常实用,积极恰当的使用能够显著提升运算性能。
5) Blocking the UI Thread
提升代码的运算效率是改善性能的一方面,让代码执行在哪个线程也同样很重要。我们都知道Android的Main Thread也是UI Thread,它需要承担用户的触摸事件的反馈,界面视图的渲染等操作。这意味着,我们不能在Main Thread里面做任何非轻量级的操作,类似I/O操作会花费大量时间,这很有可能会导致界面渲染发生丢帧的现象,甚至有可能导致ANR。防止这些问题的解决办法是把那些可能有性能问题的代码移到非UI线程进行操作。
6) Container Performance
另外一个我们需要注意的运算性能问题是基础算法的合理选择,例如冒泡排序与快速排序的性能差异:
避免我们重复造轮子,Java提供了很多现成的容器,例如Vector,ArrayList,LinkedList,HashMap等等,在Android里面还有新增加的SparseArray等,我们需要了解这些基础容器的性能差异以及适用场景。这样才能够选择合适的容器,达到佳的性能。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11