Android性能优化
文章平均质量分 53
张庚
这个东西的原理是什么呢?
展开
-
Android性能优化(二)——context 引起的内存问题
首先,要搞清楚的是Android中集中获取上下文的方式:this 或者 getContext()getApplicationContext()getBaseContext()getApplication()(严格来说,这个方法不能得到程序的Context)第一种:this or getContext(): 谷歌文档给出的解释如下: Returns the context the vi原创 2015-05-19 22:56:03 · 2375 阅读 · 0 评论 -
Android性能优化(三)——Handler使用不当引起的内存泄露
在写程序的时候,经常会用到Handler,每次写出Handler的时候,系统都会自动在Handler下面画一个黄色的波浪线,之前一直没在意。最近在项目中碰到了一个严重的问题:OOM,才开始关注程序性能的优化,发现原来那个黄色波浪线是有原因。 如下图所示: 至此,我才发现,Handler原来也可以因此内存leak。感觉这些文章写的不错,收集至此: 1、Android中Handler引起的内存原创 2015-05-20 22:32:11 · 3693 阅读 · 0 评论 -
Android 性能优化(七)——MAT使用
最近在项目中碰到一个问题:严重的OOM!这使我非常的苦恼,每次程序运行后,通过eclipse的 heap dump 工具可以看到划过几页后,程序的内存就会暴涨,由刚启动时的20M涨为120M并且当我销毁掉Activity后,内存不会减少,内存一直维持在 120M左右,这很明显的——有一些东西留在了内存中没有被释放,因此我要寻找解决方案:如何可以知道留在内存里的是什么?经过查找,找见了真有这么一款工具原创 2015-05-27 11:01:13 · 1449 阅读 · 0 评论 -
Android性能优化(一)——数据结构优化
数据结构优化,使用Sparsearray 替换HashMap 资料: Android应用性能优化之使用SparseArray替代HashMap Android中的稀疏数组:SparseArray问题:Sparsearray之所以比HashMap高效的原因是什么?结合两篇博客以及HashMap和Sparsearray的源码得出以下结论: 1、在数据存储方面,Sparsearray进行了优化原创 2015-05-19 07:39:29 · 2539 阅读 · 0 评论 -
Android性能优化(四)——代码优化工具Lint
一直在想,如果Android中有这样一种工具该多好:可以直接检查出代码中的问题,我可以根据检查出的问题来进行针对性的修改,果然Google后发现,有这样的工具——Android Lint 。 它已经完美的集成到了Eclipse中,我们可以方便的使用。两种使用方式: 第一种方式: 第二种方式: 两种操作的方式效果是一样的,最终的结果如下图所示,可以直接看到项目中存在的问题,根据问题的原创 2015-05-21 21:34:59 · 1361 阅读 · 0 评论 -
Android性能优化(五)——利用软引用和弱引用
第一次接触软引用和弱引用,是在看一个视频项目的时候碰到的那个时候没有太在意,也就过去了; 第二次接触他们是在,一个开源项目的源码里,感觉这东西是不是有点用呢? 第三次接触软引用和弱引用,是在自己的项目里,因为最近一直被一个OOM困扰,所以想好好研究一下,如果来优化性能。通过Eclipse自带的内存分析工具,发现程序一旦运行,内存就暴涨,想到,是否可以这样做:让那些不需要的内存,自动被回收掉,腾出原创 2015-05-21 23:14:15 · 2955 阅读 · 0 评论 -
Android 性能优化(六)——资源文件的存放
The following images appear in both -nodpi and in a density folder: a.png, icon.pngIssue: Finds icons that appear in both a -nodpi folder and a dpi folder Id: IconNoDpiBitmaps that appear in drawable-原创 2015-05-24 18:15:40 · 1067 阅读 · 0 评论 -
App启动优化的另一种解决方案
我们知道App启动耗时的地方主要是在:Application初始化 和 MainActivity的界面加载绘制时间。当MainActivity的业务和布局复杂度非常高,那么该界面必须要有一些初始化的数据才能显示。那么这个时候MainActivity就可能半天都出不来,这就给用户感觉app太卡了。我们要做的就是给用户以干净利落的体验,所触既有所得——只要用户点击app就立马弹出我们的界面。我们常规的应原创 2017-03-19 09:00:01 · 1050 阅读 · 0 评论