性能优化

来源:互联网 发布:安华卫浴知乎 编辑:程序博客网 时间:2024/06/05 15:47

目前位置写的这个项目,由于数据太多,加上在写项目之前也没有考虑那么完善,导致项目性能有些卡顿,所以这几天一直在考虑关于性能优化的问题。

网上百度了很多关于性能优化的方案,自己摘摘减减主要对自己的项目改进了两点。

1、关于算法:之前我对于数据的存取主要使用的是遍历,并且还嵌套了forfor循环,我最初以为算法是主要原因,所以我将对数据又重新进行了处理,通过HashMap的key、value来存储数据,然后在通过key直接取出数据,的确减少了算法的复杂度,没想到影响不大。(当然,优化算法是必要的,不要因为我这句话,而觉得算法不重要,这样我就罪不可恕了)。

2、我通过开启android设置中的调试GPU过度绘制,发现布局底下一大部分呈现深红色。

备注:

判断标准

无色:没有过度绘制,即只绘制了一次

蓝色:一倍过度绘制

绿色:二倍过度绘制

淡红色:三倍过度绘制

红色:四倍或以上过度绘制

我发现原来那一部分view不停地重叠在一起,导致系统在绘制的情况下绘制了很多次,占用了内存资源。

在我们写布局时,一定要考虑好关于布局的这一块,避免控件重复绘制。

另外setVisibility虽然很好用,但其实是比较耗费内存资源的,在一定情况下可以考虑ViewStub控件(具体去百度)。
这是这两天关于android性能优化总结的一点小东西,写的不好,见谅。有不对的地方欢迎指正。